一、异常案例代码及效果图
1.捕获异常案例
案例:向一个长度为5的整型数组中,使用死循环不断录入整数,当出现数组下标越界异常时,使用try-catch精准捕获该异常,输出数组已满的提示,并跳出循环,在循环外输出:数据录入结束。
package work1;
import java.util.Scanner;
/*1.向一个长度为5的整型数组中,使用死循环不断录入整数,
当出现数组下标越界异常时,使用try-catch精准捕获该异常,
输出数组已满的提示,并跳出循环,在循环外输出:数据录入结束。*/
public class work1 {
public static void main(String[] args) {
int[] arr=new int[5];
for (int i = 0; i < 101000; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要录入的数字:");
try {
arr[i]=sc.nextInt();
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("数组已满");
break;
}
}
System.out.println("数据录入结束");
}
}
2.主动抛出异常
public void fun2() {
throw new NullPointerException("空指针异常");
System.out.println("hello world");//会报红,提示unreachable statement,该语句不可能被执行
}
嵌套try-catch
@Test
public void fun2() {
try {
throw new Exception("非运行时异常,哈哈哈");