黑马程序员技术交流社区
标题:
请教一个关于异常的问题
[打印本页]
作者:
心之信子
时间:
2014-8-28 18:59
标题:
请教一个关于异常的问题
class FuShuIndexException extends Exception
{
FuShuIndexException(String msg)
{
super(msg);
}
}
class Demo
{
//函数上可以抛出throws NullPointerException, FuShuIndexException异常
public int method(int[] arr,int index) throws Exception
{
if(arr == null) throw new NullPointerException("没有任何数组实体");
if(index<0) throw new FuShuIndexException("负数角标!!! ");
return arr[index];
}
}
class ExceptionDemo
{
public static void main(String[] args)
{
int[] arr = new int[]{1,2,3,5};
Demo d = new Demo();
try
{
int num = d.method(null,2);
System.out.println("num="+num);
}
catch(NullPointerException e)
{
System.out.println(e.toString());
}
catch(Exception e)
{
//getMessage语句用于获取异常信息。
System.out.println("message:"+e.getMessage());
//toString语句用于获取异常名称及信息。
System.out.println("string:"+e.toString());
//jvm默认的异常处理机制就是调用异常对象的这个方法。
e.printStackTrace();
}
}
}
请问一下,为什麽主函数
catch(Exception e)
不用抛异常不会出错
而用
catch( FuShuIndexException e)
不抛异常会出错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2