一,异常的处理:抓抛模型
过程一:”抛“:程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。
并将此对象抛出。一旦抛出后,其后代码不再执行。
过程二:”抓“:可以理解为异常的处理方式:①try-catch-finally ②throws
try-catch-finally的使用
try{
//可能出现异常的代码
}catch(异常类型1 变量名1){
处理异常方式1
}catch(异常类型2 变量名2){
处理异常方式2
}.。。。。。
finally{
//一定会处理的方法
}
/*
1.使用try将可能出现的异常包装起来,在执行过程中出现异常,就会生成异常类的对象,根据此对象的类型,去catch中进行匹配。
2.一旦try中的异常对象匹配到一个catch时,就进入catch中进行异常的处理,一旦处理完成跳出try-catch结构(没有finally语句)程序继续执行。
3.catch中的异常类型,没有子父类关系,没有顺序关系。
如果有子父类关系,则子类在父类之前。
4.常用的异常处理方法:①String getMessage() ②printStackTrace()
5.try结构中声明的对象,在外面不能调用。
6.try-catch可以嵌套
*/
package fengxin;
import org.junit.jupiter.api.Test;
public class ExceptionTest {
@Test
public void test1() {
String str="123";
str="abc";
try {
int num=Integer.parseInt(str);
}catch(NumberFormatException e) {
System.out.println("出现数值转换异常");
}
System.out.println("hello");
}
}