Java教程

Java中try、catch的使用方法

本文主要是介绍Java中try、catch的使用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java中有两种处理异常的方式,分别是用throws抛出异常、用try、catch捕获异常。

try-catch

在Java

try-catch语句的语法格式:

1

2

3

4

5

try{

    //代码块

}catch(Exception1 e){

    //抛出异常后所要进行的操作

}

当try语句当中捕获到异常时,会将异常抛出到catch语句中匹配异常类型,当异常和catch后面的异常类型相匹配时,则catch语句将会执行。

举个最基础的例子,除数不能为0

try中的异常与catch后面的异常类型匹配的情况:

1

2

3

4

5

6

7

try{

    int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

    System.out.println("输出结果为:" + i);

}catch(ArithmeticException e){

    e.printStackTrace();

    System.out.println("编译报错,除数不能为0");

}

输出结果:

 

try中抛出的异常与catch后面的异常类型不匹配的情况:

1

2

3

4

5

6

7

8

try{

    int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

    System.out.println("输出结果为:" + i);

}catch(NullPointerException e){

    e.printStackTrace();

    System.out.println("编译报错,除数不能为0");

    //因为异常类型不匹配所以该catch语句并未执行

}

输出结果:

 

一个try语句可以接多个catch语句

当有多个catch语句时,try部分的语句如果发生异常,就会在依次在各个catch语句中试图匹配异常类型。

1

2

3

4

5

6

7

8

9

10

11

12

try{

            int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

            System.out.println("输出结果为:" + i);

        }catch(ArithmeticException e){

            e.printStackTrace();

            System.out.println("运算条件异常");

            //try语句捕获的异常与该catch语句后的异常相匹配,所以执行该catch语句

        }catch(NullPointerException e){

            e.printStackTrace();

            System.out.println("空指针异常");

            //try语句捕获的异常与该catch语句后的异常不匹配,所以不执行该catch语句

        }

JDK1.7之后还有一种不常用的写法:

1

2

3

4

5

6

7

8

9

10

11

try{

            int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码

            System.out.println("输出结果为:" + i);

        }catch (NullPointerException | ArithmeticException e) {

      e.printStackTrace();

 

      if (e instanceof NullPointerException)

        System.out.println("空指针异常");

      if (e instanceof ArithmeticException)

        System.out.println("运算条件异常");

    }

这种写法需要通过instanceof 进行判断具体的异常类型。

两种写法的输出都是一样的:

 

在catch内部,通常下面的方法输出异常信息:
getMessage() 返回一个字符串对发生的异常进行描述。
printStackTrace() :打印异常信息出错的位置及原因。

到此这篇关于Java中try、catch的使用的文章就介绍到这了。如果大家想要了解更多相关java培训技术内容欢迎关注小编!

这篇关于Java中try、catch的使用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!