黑马程序员技术交流社区
标题:
请帮忙解答异常问题疑惑
[打印本页]
作者:
完美恋爱
时间:
2013-11-27 16:52
标题:
请帮忙解答异常问题疑惑
本帖最后由 完美恋爱 于 2013-11-27 17:05 编辑
class FuShuException extends Exception
{
FuShuException()
{
super();
}
FuShuException(String message)
{
super(message);
}
}
class Chu
{
int chu(int a, int b)throws FuShuException
{
if(b < 0)
throw new FuShuException("被除数为零啦!");
return a/b;
}
}
class Demo
{
public static void main(String[] args)
{
Chu c = new Chu();
try
{
int num = c.chu(3,0);
System.out.println("num = "+num);
}
catch(FuShuException e)
{
System.out.println(e.toString());
}
}
}
我写的这个代码里在主函数里只有对不能为负数的捕获,并没有对被除数为0进行声明啊!那为什么JVM还能在控制台上打印出除0的异常啊!
作者:
Jim-剣◆﹏
时间:
2013-11-27 17:04
很明显
class Chu
{
int chu(int a, int b)throws FuShuException
{
if(b < 0)
throw new FuShuException("被除数为零啦!");
return a/b;
}
}
复制代码
你的判断条件是if(b < 0),明显你传入的是0,不满足条件,不会执行throw new FuShuException("被除数为零啦!");
反而执行了return a/b;
就抛出除数为0的异常了
作者:
HAnG
时间:
2013-11-27 17:06
是不是提示Exception in thread "main" java.lang.ArithmeticException: / by zero
这个不是你自定义的异常,是java里的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2