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");
}
输出结果:
try中抛出的异常与catch后⾯的异常类型不匹配的情况:
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语句中试图匹配异常类型。
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语句
}try 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 进⾏判断具体的异常类型。
两种写法的输出都是⼀样的:
在catch内部,通常下⾯的⽅法输出异常信息:
getMessage() 返回⼀个字符串对发⽣的异常进⾏描述。
printStackTrace() :打印异常信息出错的位置及原因。
到此这篇关于Java中try、catch的使⽤的⽂章就介绍到这了,更多相关Java中try catch的使⽤内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。