其他分享
首页 > 其他分享> > 异常

异常

作者:互联网

谁调用,谁处理
异常处理机制
**异常处理的5个关键字:
 * 捕获异常: try/catch/finally
 * 抛出异常: throw 可以手动抛出异常对象;例如: throw new Exception("您输入的数值存在负数!");
 * 声明异常: throws 声明方法 可能要抛出的各种异常类,向上 传递异常,直到Main()函数!!:
 *                  returnType methodName(....) throws ExceptionList{
 *                      throw new ExceptionList("......");
 *                  }
 *                  class ExceptionList extends Exception{   //自定义的异常类
 *                  }
    
    保证程序可以正常运行
    运行时异常RuntimeException:
    Exception----------------------异常层次结构的根类
    ArithmeticException------------算术错误情形,如以零作为除数
    ArrayIndexOutOfBoundsException-数组下标越界
    NullPointerException-----------尝试访问null对象成员
    NumberFormatException----------数字格式转换异常,如把“abc”转换成数字
    检查异常CheckedExcception:
    检查异常是程序员必须进行处理
    
    
何时需要自定义异常
    当JDK中的异常不能,满足程序需要时候

public class MyException extends Exception{//自定义异常
    private int errorCode;//异常编码

    public int getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(int errorCode) {
        this.errorCode = errorCode;
    }

    public MyException() {
    }

    public MyException(int errorCode,String msg) {
        super(msg);
        this.errorCode = errorCode;
    }
}

 

public static void main(String[] args) {
        System.out.println("请输入1~3之间的任何一个数:");
        Scanner input = new Scanner(System.in);
        try{
            int num=input.nextInt();
            if (num==1){
                System.out.println("课程1");
            }else if (num==2){
                System.out.println("课程2");
            }else if(num==3){
                System.out.println("课程3");
            }else {
                System.out.println("输入错误,输入的数不在1~3之间");
            }
        }catch (Exception e){
            System.out.println("输出错误,发生异常");
        }finally {
            System.out.println("欢迎提出建议");
        }
    }

 

标签:System,errorCode,println,异常,public,out
来源: https://www.cnblogs.com/linlinmailbox/p/16491772.html