【javase09~异常】

【部分内容来自网络,侵删】

异常体系

ee.png

抛出异常

语法:throw new Exception('异常信息');

class Test {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;
        if(b==0){
            throw new java.lang.ArithmeticException("被除数不能为0");
        }
        System.out.println(a/b);
    }
    
}

声明异常

class Test {
    public static void main(String[] args) throws ArithmeticException {
        int a = 1;
        int b = 0;
        System.out.println(a/b);
    }
    
}

捕获异常

class Test {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;
        try{
            division(a,b);
        } catch(ArithmeticException e) {
            System.out.println("除数不能为0");
        } finally {
            System.out.println("程序最终执行到这里");    
        }
        
    }
    
    public static void division(int a, int b){
        System.out.println(a/b);
    }
    
}

运行时异常和编译时异常

  1. 运行时异常就是RuntimeException及其子类,调用者无需处理该类异常,通常来自于代码的逻辑问题。
  2. 编译期异常即非RuntimeException,如果抛出了该类异常,则或者进行捕获,或者进行向上抛出。

方法重写时的异常处理

自定义异常

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容