您的位置 首页 技术

java怎么捕获异常

在Java中,凡是可能抛出异常的语句,都可以用try … catch捕获。把可能发生异常的语句放在try { … }中,然后使用catch捕获对应的Exce…

在Java中,凡是可能抛出异常的语句,都可以用try … catch捕获。把可能发生异常的语句放在try { … }中,然后使用catch捕获对应的Exception及其子类。

多catch语句

可以使用多个catch语句,每个catch分别捕获对应的Exception及其子类。JVM在捕获到异常后,会从上到下匹配catch语句,匹配到某个catch后,执行catch代码块,然后不再继续匹配。 (推荐学习:java课程)

简单地说就是:多个catch语句只有一个能被执行。例如:

public static void main(String[] args) {    try {        process1();        process2();        process3();    } catch (IOException e) {        System.out.println(e);    } catch (NumberFormatException e) {        System.out.println(e);    }}

存在多个catch的时候,catch的顺序非常重要:子类必须写在前面。例如:

public static void main(String[] args) {    try {        process1();        process2();        process3();    } catch (IOException e) {        System.out.println("IO error");    } catch (UnsupportedEncodingException e) { // 永远捕获不到        System.out.println("Bad encoding");    }}

对于上面的代码,UnsupportedEncodingException异常是永远捕获不到的,因为它是IOException的子类。当抛出UnsupportedEncodingException异常时,会被catch (IOException e) { … }捕获并执行。

因此,正确的写法是把子类放到前面:

public static void main(String[] args) {    try {        process1();        process2();        process3();    } catch (UnsupportedEncodingException e) {        System.out.println("Bad encoding");    } catch (IOException e) {        System.out.println("IO error");    }}

以上就是java怎么捕获异常的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/11506.html

为您推荐

返回顶部