• 课程作业六 异常处理


    java异常处理机制:

    1.把可能会发生错误的代码放进try语句块中。
    2.当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。
    catch语句块中的代码用于处理错误。
    3.当异常发生时,程序控制流程由try语句块跳转到catch语句块。
    4.不管是否有异常发生,finally语句块中的语句始终保证被执行。
    5.如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。
     
    finally的功能:
    1.资源泄露:当一个资源不再被某应用程序使用,但此程序并未向系统声明不再使用此资源时发生这种情况
    2.finally语句块主要用于解决资源泄露问题,它位于catch语句块之后,JVM保证它们一定执行。
    3.注意:finally语句块中也可能发生异常,如果这种情况发生,先前的异常被放弃。
    4.system.exit(0);出现,finally也将不再执行
    (5)源代码:
    package test;
    
    import javax.swing.JOptionPane;
    
    
    public class Shuru {
        double num;
        public void input(){
             try{
                   String str=JOptionPane.showInputDialog("请输入成绩:");
                   num=Double.parseDouble(str);
                           }
             catch(NumberFormatException e){
                            JOptionPane.showMessageDialog(null,  "输入的不是数字!",null,
                                     JOptionPane.PLAIN_MESSAGE);
                            input();
                        }
             finally{
                 JOptionPane.showMessageDialog(null,  "ok!",null,
                         JOptionPane.PLAIN_MESSAGE);
             }
                       
           }
       public static void main(String args[]){
           Shuru a=new Shuru(); 
               
           while(true){
                 a.input(); 
           if(a.num<=100&&a.num>=90){
               JOptionPane.showMessageDialog(null,  "成绩优秀!",null,
                         JOptionPane.PLAIN_MESSAGE);break;
           }
           else if(a.num<=89&&a.num>=80){
               JOptionPane.showMessageDialog(null,  "成绩良好!",null,
                         JOptionPane.PLAIN_MESSAGE);break;
           }
           else if(a.num<=79&&a.num>=70){
               JOptionPane.showMessageDialog(null,  "成绩中等!",null,
                         JOptionPane.PLAIN_MESSAGE);break;
           }
           else if(a.num<=69&&a.num>=60){
               JOptionPane.showMessageDialog(null,  "成绩及格!",null,
                         JOptionPane.PLAIN_MESSAGE);break;
           }
           else if(a.num<=59&&a.num>=0){
               JOptionPane.showMessageDialog(null,  "成绩不及格!",null,
                         JOptionPane.PLAIN_MESSAGE);break;
           }
           else{
               JOptionPane.showMessageDialog(null,  "输入数字超出范围!",null,
                         JOptionPane.PLAIN_MESSAGE);
           }
         }
       }
    }

    设计思想:定义input方法,输入判断看看是不是数字,如果不是则递归输入,进入主函数后,while循环判断其是不是超出输入范围,并且判断成绩类型。

    程序流程图:



     
  • 相关阅读:
    PCIe体系结构概述
    PCI Express 系统体系结构标准教材
    PCI Express体系结构导读(1)
    windows设备驱动程序WDF开发(3)
    windows设备驱动程序WDF开发(2)
    Linux驱动开发概述
    基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序
    基于WDF的PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)
    基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)
    基于WDF的PCI/PCIe接口卡Windows驱动程序(2)-开发者需要了解的WDF中的一些重要的概念
  • 原文地址:https://www.cnblogs.com/sisi-job/p/4964515.html
Copyright © 2020-2023  润新知