package Vehicle;
public class Bike {
public void methods(int num)throws SpecialException{
if(num==-1)
throw new SpecialException("monster");
System.out.println("methods");
}
public void methodb(int num)throws SpecialException{
methods(num);
System.out.println("methodb");
}
public static void main(String[] args)throws SpecialException{
new Bike().methodb(-1);
}
}
出错提示:
1.SpecialException cannot be resolved to a type
2.The method methodb(int) from the type Bike refers to the missing type SpecialException
中午太匆忙了,没有好好的说明。我是想抛出异常类SpecialException,这段代码是照着某一本书上敲的,运行不出来,我觉得必须SpecialException得继承Exception才可以运行,只是那书上没有,就有点疑惑。还有整型数不是>=0的数。。
Java异常类的问题
答案:6 悬赏:30 手机版
解决时间 2021-01-04 11:21
- 提问者网友:浮克旳回音
- 2021-01-03 19:24
最佳答案
- 五星知识达人网友:雾月
- 2021-01-09 22:25
用户自定义异常都应该继承Exception基类,如果希望自定义Runtime异常,则继承RUntimeException基类,定义异常类时通常需要提供两种构造器,一种是无参数构造器,一种是带字符串的构造器(也就是getMessage方法的返回值,作为异常对象的详细说明)
全部回答
- 1楼网友:梦中风几里
- 2021-01-10 01:57
找不到SpecialException这个类
- 2楼网友:平生事
- 2021-01-10 01:49
public class Bike {
public void methods(int num)throws SpecialException{
if(num==-1)
throw new SpecialException("monster");
System.out.println("methods");
}
public void methodb(int num)throws SpecialException{
methods(num);
System.out.println("methodb");
}
public static void main(String[] args){
try{
new Bike().methodb(-1);
}catch(SpecialException ex){
System.out.println(ex);
}
}
public class SpecialException extends Exception {
public SpecialException() {
super();
}
public SpecialException(String message){
super(message);
}
public SpecialException(String message, Throwable cause) {
super(message, cause);
}
public SpecialException(Throwable cause) {
super(cause);
}
}
}
- 3楼网友:醉吻情书
- 2021-01-10 01:06
@dllgdx_2000 谁告诉你整形是>=0的数?
- 4楼网友:夜余生
- 2021-01-10 00:14
对不起 之前的回答“nt num是整形 整形是>=0的数”错了
--------------
你说的情况 SpecialException得继承Exception才可以运行
我也试过了
不继承Exception.
throw new SpecialException("monster");会编译不过去的
可能书上错了
他那也不一定全对
- 5楼网友:长青诗
- 2021-01-09 23:15
你在division(int a,int b)方法体内相除时抛出的不就是arithmeticexception异常吗,程序肯定捕获arithmeticexception并对其进行处理,然后抛出了exception异常(throw new exception("can't divided by zero");) 这时候方法体抛出的就是exception异常
然后你在main函数中调用excep.fn1(5,0)它,fn1(5,0)方法中又调用division(int a,int b)方法,从而捕获的就是division(int a,int b)方法抛出的exception异常并对其进行处理
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯