我觉得那里只能加catch, 暂时还不知道其他方法
加catch(ArithmeticException e){
System.out.println("Catch"+e);} 算术异常 除0
运行结果:
---情况----0----
无法捕获异常
d
---情况----1----
Catchjava.lang.ArithmeticException: / by zero
d
---情况----2----
Catchjava.lang.ArrayIndexOutOfBoundsException: 10
d
代码:- import java.io.*;
- public class Test
- {
- static void situate(int sit)
- {
- System.out.println("---情况----"+sit+"----");
- try
- {
- if(sit==0)
- {
- System.out.println("无法捕获异常");
- return;
- }
- else if (sit==1)
- {
- int i=0;
- int j=6/i;
- }
- else if (sit==2)
- {
- int iArray[]=new int [4];
- iArray[10]=3;
- }
- }
- catch(ArithmeticException e){
- System.out.println("Catch"+e);}
- catch(ArrayIndexOutOfBoundsException e)
- {System.out.println("Catch"+e);}
- catch(Exception e)
- {System.out.println("不会执行");}
- finally {System.out.println("d");}
- }
- public static void main(String[] arge)
- {
- situate(0);
- situate(1);
- situate(2);
- }
- }
复制代码 |