异常捕捉格式
格式
try...catch...
格式详情
try{
可能出错的代码
}
catch (异常类型1 异常对象形参){
如果出错类型是异常类型1
就会执行此处的代码
}
catch (异常类型2 异常对象形参){
如果出错类型是异常类型2
就会执行此处的代码
}
catch (RuntimeException e) {
任意类型的异常
}
说明
我们会把可能出错的代码写在try代码块中
如果程序出错就会匹配对应的异常类型
匹配成功,就会执行对应代码块中的内容
示例 try…catch…
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test11 {
public static void main(String[] args) {
System.out.println("工程启动了,准备分配任务了");
liubei();
System.out.println("整个工程结束了");
}
private static void liubei() {
System.out.println("刘备开始工作");
System.out.println("刘备调用张飞");
zhangfei();
System.out.println("刘备作工作总结");
}
private static void zhangfei() {
System.out.println("张飞开始工作");
System.out.println("张飞找赵云帮忙");
zhaoyun();
System.out.println("张飞进行工作总结");
}
private static void zhaoyun() {
System.out.println("我奶常山赵云");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数字");
try {
int num = scanner.nextInt();
System.out.println(10 / num);
} catch (RuntimeException e) {
System.out.println("任意异常");
}
System.out.println("我云工作了。。。。。");
}
}
finally分支
格式详情
try{可能出错的代码}
catch(异常类型 形参){出错时要做的事情}
finally{不论是否发生异常都会执行的代码}
示例 finally
try {
int num = scanner.nextInt();
if (num == 6) {
return;
}
System.out.println(10 / num);
} catch (RuntimeException e) {
System.out.println("任意异常");
} finally {
System.out.println("finally....");
System.out.println("不论是否发生异常都会执行的代码");
}