如何通过扩展throwable并使用try-catch块来捕获异常来创建自定义异常?

时间:2014-02-11 18:51:55

标签: java exception-handling

我有一个名为n的类(糟糕的编程习惯,我知道)我将它扩展为Throwable以及何时添加我自己的测试异常。我不想像代码示例2中那样从方法存根中抛出if,而是宁愿使用try catch。有没有办法做到这一点?我已经看到了一些例子,事实上这就是我得到这个例子的地方,但似乎没有任何工作。

我确实读过,通常你不想扩展Throwable而是Exception或RunTimeException,但我想看看它是如何工作的。我认为,如果您扩展Trhowable,那么您也可以访问所有其他异常。所以下面的一些代码可能会这样。

    try {

     } catch (myOwnException err) {

     } catch (Exception err) {

     } finally {

     } 

问题:如何使用try-catch块抛出异常(n)而不是让方法存根抛出异常?

代码示例1:

public class newthrow extends MyNewException {
    private static final long serialVersionUID = 1L;
    public static void main(String[] pizza){
        try {

        } catch (MyNewException e) { <-- Unreachable catch block for n. This exception 
                                    is never thrown from the try statement body

        }
    }
}

class MyNewException extends Throwable {
MyNewException() {
}
 }

public class newthrow extends MyNewException {
    private static final long serialVersionUID = 1L;
    public static void main(String[] pizza) throws n {
    }
}

class MyNewException extends Throwable {
    MyNewException() {
    }
  }

代码示例2 :(编译 - 但不是我真正想要的

public class newthrow extends MyNewException {
    private static final long serialVersionUID = 1L;
    public static void main(String[] pizza) throws n {
    }
}

class MyNewException extends Throwable {
        MyNewException() {
        }
}

之前我曾使用过例。我知道Java为程序的不同方面提供了大量的Java。我想确定构建自己的异常的最佳方法。

我知道这将在下面工作。

代码:延长了Exception。

class myNewExc extends Exception {
    myNewExc() {

    }
}

这是我在下面要避免的。在方法存根之后抛出的代码因为我认为你必须在扩展另一个具有这种语法类的类中处理它。

      public static void main(String[] pizza) throws n, myNewExc{
}

0 个答案:

没有答案
相关问题