黑马程序员技术交流社区
标题:
问个自定义异常的问题
[打印本页]
作者:
wrnlksblk
时间:
2015-7-1 22:52
标题:
问个自定义异常的问题
class ExceptionTest5
{
public static void main(String[] args)
{
int a =1,b = 0;
try
{
System.out.println(a/b);
}
catch (AException e)
{
System.out.println("除零了");
}
}
}
class AException extends RuntimeException //为什么此处继承EXception编译失败(java:10: 错误: 在相应的 try 语句主体中不能抛出异常错误 //但是继承RuntimeException却编译通过,且就算通过也无法执行catch里的内容?好像是自定义的异常无法捕 获的感觉
{
AException(String msg)
{
super(msg);
}
}
作者:
wrnlksblk
时间:
2015-7-1 22:53
就是说我自定义一个异常用来处理除以0的问题,但是为什么catch不到我自定义的那个异常呢??
作者:
wrnlksblk
时间:
2015-7-1 22:57
就是说我自定义一个异常用来处理除以0的问题,但是为什么catch不到我自定义的那个异常呢??
作者:
wrnlksblk
时间:
2015-7-8 23:43
有没有人理下我啊????55555555
作者:
Love丶cd
时间:
2015-7-9 15:14
try
{
System.out.println(a/b);
}
这个代码是有问题的,你自定义了一个异常类,要在a/b时判断并抛出。我给你写一个,你参考一下
class Get{
//代码的优化,尽量让一个代码处理一件事情。
public static int method(int a,int b)throws AException{
if(b==0)//在哪有错误,在哪抛出
throw new AException("除零了");
else{return a/b;}
}
}
public class ExceptionTest5{
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
System.out.println(Get.method(1, 0));
}
catch (AException e)
{
e.printStackTrace();
}
}
}
class AException extends RuntimeException
{
AException(String msg)
{
super(msg);
}
}
感觉你进入了一个误区,不是你自定义完了,他就能自行抛出的,自己好好琢磨琢磨吧 。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2