谁能帮我解析一下java程序:
public class Exception
{ void Proc(int sel) throws ArithmeticException,
ArrayIndexOutOfBoundsException
{System.out.println("In Situation"+sel);
if(sel==0){
System.out.println("no Exception caught");
return;
}
else
if(sel==1)
{int iArray[]=new int[4];
iArray[10]=3;
}
}
}
这明显是一个被调用函数,因为没有出现public static void main(String args)主
线程
被调用到Proc这个函数并传一个值之后如果出现算法错误就抛Arithmetic异常,如果
是数组越界就抛ArrayIndexOutOfBoundsException异常
进入到下一步了
首先是在屏幕上输出一句话In Situation XX(XX是传过来的整数,如果不是整数就抛
出异常了)
下一步走if判断语句
如果sel等于0的话在屏幕上输出 no Exception caught并返回;
否则判断sel是不是等于1是的话开一个数组iArray给它4个空间
把iArray第10个空间赋予3值,这下肯定就抛出数组越界异常了它会找
ArrayIndexOutOFBoundsException这个异常,也就是上面
void Proc(int sel) throws ArithmeticException,
ArrayIndexOutOfBoundsException
这个头,并交给调用它的语句去处理,也就是交给上一级处理
如果sel等于1就会抛出ArrayIndexOutOfBoundsException!如果sel==0就会打出In Situation0no Exception caught
是哪里不懂吗 throws 用来标识可能抛出的异常