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