class NegativeNumberException extends Exception{
private int value;
NegativeNumberException(String message,int value){
super(message);
this.value = value;
}
public int getValue(){
return value;
}
}
class Demo1{
int div(int a,int b)throws NegativeNumberException{
if(b<0)
throw new NegativeNumberException("出现了除数是负数的情况",b);
return a/b;
}
}
public class UserdefinedException {
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo1 d = new Demo1();
try {
System.out.println(d.div(4, 1));
} catch (NegativeNumberException e) {
System.out.println(e.toString());
System.out.println("错误的负数是:"+e.getValue());
}
}
}
为什么我自定义的异常会出现下面的问题呢?
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No exception of type NegativeNumberException can be thrown; an exception type must be a subclass of Throwable
at com.sun.java.day03.UserdefinedException.main(UserdefinedException.java:29)作者: taoge 时间: 2014-1-12 14:25
我把你的拷过去没有问题
把div(4,1)改为(4,-1)报异常为:
com.tg.timetest.NegativeNumberException: 出现了除数是负数的情况
错误的负数是:-1
好好检查下作者: 淡夜清风 时间: 2014-1-12 14:41
同楼上。。
把div(4,1)改为(4,-1)报异常为:
NegativeNumberException: 出现了除数是负数的情况
错误的负数是:-1
说明你的程序没有错。