java try的用法_Java中try、catch的使用方法

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

try-catch

在Java

try-catch语句的语法格式:

try{

//代码块

}catch(Exception1 e){

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

}

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

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

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

try{

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

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

}catch(ArithmeticException e){

e.printStackTrace();

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

}

输出结果:

b1128ce94ba43644402517279817ef08.png

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

try{

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

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

}catch(NullPointerException e){

e.printStackTrace();

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

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

}

输出结果:

9bbfd3075deb85654f9ab6672005dabb.png

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

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

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之后还有一种不常用的写法:

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 进行判断具体的异常类型。

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

225b6ddb12163aec8ea230a4cac40ee9.png

在catch内部,通常下面的方法输出异常信息:

getMessage() 返回一个字符串对发生的异常进行描述。

printStackTrace() :打印异常信息出错的位置及原因。

到此这篇关于Java中try、catch的使用的文章就介绍到这了,更多相关Java中try catch的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值