为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大哥能帮我看下 为什么编译器为一直报错!

public class HelloWorld{

     public static void main(String []args){

     

     HelloWorld hello=new HelloWorld();

   

     try{

     hello.test2();

     }

     catch(Exception r){

     r.printStackTrace();

     

     }}

     

     

     

     public void test1()throws Exception{

    throw new DrunkException("开酒别喝车");

    }

         public void test2(){

        try {

    test1();

    } catch (DrunkException e) {

    // TODO 自动生成的 catch 块

    RuntimeException newrun=new RuntimeException("司机一滴酒,亲人两行泪");

    newrun.initCause(e);

    throw newrun;

    }

         

         }  

     

     

}


在test2里面 会一直报错  test1();需要添加抛出说明或者用try、catch包围

明明已经包围了啊!!


正在回答

3 回答

public void test1()throws Exception{   

这里改成public void test1()throws DrunkException{  就好了

但是我不知道为什么不能直接抛出基类。。。

0 回复 有任何疑惑可以回复我~

上面好像没错,你看看下面的代码有没有打错?

public class DrunkException  extends Exception{

    public DrunkException(){

        super();

    }

     

    public DrunkException(String message){

        super(message);//调用一下父类的有参构造方法

    }

   


0 回复 有任何疑惑可以回复我~

自定义的异常没有写吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪位大哥能帮我看下 为什么编译器为一直报错!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信