javase中的异常那些事
程序员文章站
2022-03-02 21:07:01
...
package zhang.javase.TestException;
import java.util.Scanner;
import org.junit.Test;
/**
- 常见的异常以及异常的处理
- @作者:小章鱼
*java中异常的处理模式是:“抛”"抓"模式,
*当在程序执行的过程中出现异常的时候,这时会抛出一个指定类型的异常对象给调用者,这是自动抛出的异常
*对于异常的处理,我们时候try catch 的模式来处理异常,让即使出现异常,后面的程序任然能够正常的 处理
finally:不管怎么样,在finally中的语句一定会执行
Exception e:异常对象的两个方法e.getMessage():获取异常的信息
e.printStackTrace();获取异常栈的信息
当存在多个catch语句的时候,扑抓住异常的时候,进入第一个catch语句中,这时后面的catch语句将不会执行
catch语句的向后顺序关系
1.当catch的异常时不相关的时候,对顺序没有任何的要求
2.当catch的语句是相关的时候,一定要将更具体的写在catch语句块的第一位
*/
***public class TestExcption2 {
@Test
public void test1() {
try {
int a = 2;
int b = 0;
System.out.println(a / b);
} catch (Exception e) {
System.out.println("excption ");
}
}
@Test
public void test2() {
try {
String name;
name = null;
System.out.println(name.toString());
} catch (Exception e) {
System.out.println(“出现的是空指针异常”);
}
}
@Test
public void test3() {
try {
int[] array = new int[3];
System.out.println(array[3]);
}catch( RuntimeException e){
System.out.println("发生运行时的异常");
}
catch (Exception e) {
System.out.println("出现的是数组越界异常");
}
}
@Test
public void test4(){
try {
Object obj=new String("zhangyukang");
int a=(int)obj;
} catch (Exception e) {
System.out.println("出现的是强制转化类型的异常");
}
}
@Test
public void test5(){
try {
Scanner scanner =new Scanner(System.in);
System.out.println("请输入一个整数");
int a=scanner.nextInt();
} catch (Exception e) {
System.out.println("出现的是输入的数据格式不匹配的异常");
}
}
}***