try-catch和throws的区别

try-catch和throws的区别:
    try-catch : 在当前位置处理异常
    throws    :   (语法格式:   在方法签名之后:throws 异常类型)
                    向上抛出异常,可以无限向上抛出,直到抛给main方法,main方法就抛给JVM虚拟机去解决
                    即比如在3个类中,第3个类出现异常,可向上抛给第二个类,第二个类如果不想解决,可继续抛给第一个类中去解决,然后在第一个类中(调用第三个类中方法会出现异常)==》就使用try-catch解决异常


相当于throws可以向上指定抛到某一个类里面去集合解决异常(使用try-catch解决异常),而try-catch是直接处理异常

 

注意:throws后可以同时抛出多个异常类型  ex:public void 方法名() throws ArithmeticException,NumberFormatException{}

throws 原理:有throws的方法的是所有代码中 , 某行代码创建了异常对象,直接去跟throws后的异常类型匹配,如果匹配不上,则自动匹配下一个,匹配上为止。  
          i: 如果能匹配上则向上抛出成功,由调用方法的地方来处理
         ii: 如果所有的都匹配不上,则抛出失败,由jvm默认处理
————————————————
版权声明:本文为CSDN博主「郑清」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38225558/java/article/details/82110787

posted @ 2020-05-07 15:30  kissrule  阅读(1141)  评论(0编辑  收藏  举报