Java中的异常(一)

JVM默认是如何处理异常

main函数收到这个问题时,有两种处理方式:

  1. 自己将该问题处理,然后继续运行
  2. 自己没有针对的处理方式,只有交给调用main的jvm来处理
    JVM有一个默认的异常处理机制,就将该异常进行处理.并将该异常的名称,异常的信息.异常出现的位置打印在了控制台上,同时将程序停止运行

异常处理方式

try…catch…finally

try:用来检测异常
catch:用来捕获异常
finally:释放资源

当通过trycatch将问题处理了,程序会继续执行

  1. try catch
//写法1
        int a = 10;
        int b = 0;
        int[] arr = {11,22,33,44,55};
        
        try {
            System.out.println(a / b);
            System.out.println(arr[10]);
            arr = null;
            System.out.println(arr[0]);
        } catch (ArithmeticException e) {
            System.out.println("除数不能为零");
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("索引越界了");
        } catch (Exception e) {             //Exception e = new NullPointerException();
            System.out.println("出错了");
        }
//写法2
//JDK7如何处理多个异常
        try {
            System.out.println(a / b);
            System.out.println(arr[10]);
        } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) {
            System.out.println("出错了");
        } 

多个catch时, 只能捕获到一个异常,try后面如果跟多个catch,那么小的异常放前面,大的异常放后面,根据多态的原理,如果大的放前面,就会将所有的子类对象接收,后面的catch就没有意义了

  1. try catch finally
  2. try finally
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 通俗编程——白话JAVA异常机制 - 代码之道,编程之法 - 博客频道 - CSDN.NEThttp://blog...
    葡萄喃喃呓语阅读 3,310评论 0 25
  • 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代...
    Executing阅读 1,402评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,829评论 18 399
  • 1.感恩周立陪我聊天,让我想通了很多事情,开心特别多 2.感恩今天减肥成功,赚大啦 3.感恩喜马拉雅电台有好多很好...
    小狐狸娃娃阅读 249评论 0 0
  • 堆和栈的区别 栈区(stack)由编译器自动分配释放 ,存放方法(函数)的参数值, 局部变量的值等,栈是向低地址扩...
    iOS_Alex阅读 312评论 0 1

友情链接更多精彩内容