黑马程序员技术交流社区
标题:
关于catch的第二个问题
[打印本页]
作者:
小洋人最happy
时间:
2012-11-21 15:33
标题:
关于catch的第二个问题
catch (Exception e)
{
System.out.println(e.toString());
}
直接这样不是很简单吗?还需要挨着定义吗,比如下面
catch (ArithmeticException e)
{
System.out.println(e.toString());
System.out.println("被零除啦");
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println(e.toString());
System.out.println("角标越界啦");
}
这样会不会很麻烦呢
作者:
崔利鹏
时间:
2012-11-21 15:48
他们两个捕获的异常是不一样的,ArithmeticException 是一般性错误,像你说的除数是0了,但是ArrayIndexOutOfBoundsException 是数组越界问题。
作者:
filter
时间:
2012-11-21 16:41
2楼 +1
exception e处理的是一般异常,ArithmeticException 和ArrayIndexOutOfBoundsException 是exception的子类,功能不一样
另外你代码中的局部变量e要改一下,两个不能一样的,不然编译报错
作者:
王得新
时间:
2012-11-21 19:01
catch (Exception e)
{
System.out.println(e.toString());
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
catch (ArithmeticException e)
{
System.out.println(e.toString());
System.out.println("被零除啦");
// Log.e();
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println(e.toString());
System.out.println("角标越界啦");
}
关于异常方面的知识这里就不说了,LZ查下资料就可以了解下,下面针对LZ的提问给个回答
lz的第一种抛出异常的方式比较广泛,如果真的出错的话,让别人调试起来很麻烦,其实在catch语句中专门为企业写代码的会在里面
以Log日志的形式保存到特定文件夹下的文档里,这样以后你的程序给别人用时,出错的话别人才好调试。
而第二种方式是最好的,因为抛出的异常很具体,如果真的出错,查看文档的话才会方便,才会具体到那个错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2