在Java代码编写运行时总会出现一些错误或者异常,比如下面这个例子
public class Main{
public static void main(String[] args){
int c=divide(4,0);
System.out.println(c);
}
private static int divide(int a,int b) {
return a/b;
}
}
这段代码一运行就会报错,原因是发生了除零异常
有时候我们想要系统将异常原因捕获并做出一些处理(例如输出异常原因,,)这个时候我们就需要使用到try,,,,,catch语句
具体格式如下
try{
//代码主体块
}catch(Exception类或其子类 e){
//对异常的处理
}
带入到最上方的例子中:
public class Main{
public static void main(String[] args){
try{
int c=divide(4,0);
System.out.println(c);
}catch(Exception e){
System.out.println("捕获的异常信息为——"+e.getMessage());
}
}
private static int divide(int a,int b) {
return a/b;
}
}
运行之后带到的结果就是(捕获的异常信息为——/ by zero)结果表明程序异常是发生在除零
需要注意的是程序在发生错误之后会立马停止运行,有的时候我们希望不管代码有没有异常一些代码必须的运行,f这时就可以在try,,,,catch语句后面加上finally代码块
使用方式如下:
public class Main{
public static void main(String[] args){
try{
int c=divide(4,0);
System.out.println(c);
}catch(Exception e){
System.out.println("捕获的异常信息为——"+e.getMessage());
}finally{
System.out.println("进入finally代码块");
}
}
private static int divide(int a,int b) {
return a/b;
}
}