52 lines
1.8 KiB
Java
52 lines
1.8 KiB
Java
package com.inmind.exception05;
|
|
|
|
import java.io.IOException;
|
|
import java.text.ParseException;
|
|
|
|
/*
|
|
try..catch处理多个异常
|
|
|
|
1.在实际开发中,一段业务代码,可能会出现多个异常中的任意一个,所以我们要学习多异常处理
|
|
|
|
2.多异常处理语法:
|
|
try{
|
|
可能会出现异常的代码
|
|
}catch(异常名 变量名){
|
|
捕获了异常之后,异常处理代码
|
|
}catch(异常名 变量名){
|
|
捕获了异常之后,异常处理代码
|
|
}
|
|
catch(异常名 变量名){
|
|
捕获了异常之后,异常处理代码
|
|
}....
|
|
3.多异常处理的执行流程:
|
|
对于出现的异常,语法会根据catch的顺序依次捕获,如果有一个catch捕获到了那么后面的catch就不会执行了
|
|
|
|
|
|
注意:
|
|
1.实际开发中,具体的异常具体处理.但是我们学习阶段不关心这业务,所以今后暂且直接catch (Exception e)
|
|
2.catch(Exception)的目的:在最后做一个保险操作
|
|
*/
|
|
public class Demo09 {
|
|
public static void main(String[] args) {
|
|
try {
|
|
int i = 9;
|
|
if (i > 10) {
|
|
throw new ArrayIndexOutOfBoundsException();
|
|
}
|
|
if (i < 10) {
|
|
throw new NullPointerException();
|
|
}
|
|
//可能会出现意料之外的异常
|
|
throw new ParseException("",1);
|
|
} catch (ArrayIndexOutOfBoundsException e) {
|
|
System.out.println("捕获了索引越界异常");
|
|
} catch (NullPointerException e) {
|
|
System.out.println("捕获了空指针异常");
|
|
} catch (Exception e){//托底
|
|
System.out.println("不管什么异常,我都能处理");
|
|
}
|
|
System.out.println("程序结束");
|
|
}
|
|
}
|