java应用程序中的异常处理

时间:2014-01-08 14:19:19

标签: java exception exception-handling

我要在我的应用程序中实现异常处理。我应该多加小心。请指出。

我的策略: 我正在创建用户定义的Exception类。它应该扩展RuntimeException还是Exception?

然后我想从每个catch块中抛出异常然后我会在我的类中决定该异常类型的实例是什么。在此基础上,我将宣称它的严肃性类似于致命的批评。

这两者之间存在差异:

public class MyException extends RuntimeException{

}

public class MyException extends Exception{

}

3 个答案:

答案 0 :(得分:2)

请阅读checked and unchecked Exceptions

延长RuntimeException的例外不需要catch块。延长Exception的例外需要catch块,因此我认为您希望扩展Exception并使用已检查的例外。

答案 1 :(得分:1)

这两个陈述之间存在差异。

当您执行MyException extends RuntimeException时,它是未经检查的例外,因此您不必将方法声明为throw 例外

另一个语句是 checked 异常,您必须声明使用它的方法throw异常。

  

然后我想从每个catch块中抛出异常

有理由这样做吗?这两种情况都没有意义。

答案 2 :(得分:0)

我认为你需要做的第一个区别是你想要它像Java中的checked vs unchecked异常。如果您确实查看了ArrayIndexOutOfBounds异常是怎样的,以及SQL异常是怎么回事。 运行时异常通常是由于异常情况而发生的错误或缺陷。

在您的情况下,我认为您不需要它作为运行时异常,因为您将在您的代码中处理它。