如何创建新的Java异常?

时间:2014-11-12 22:47:57

标签: java exception exception-handling

我知道要创建一个新的异常,我必须创建Java Exception类的子类。

public class MyOwnException extends Exception
{
     /*ok, what goes here? where do we tell java when to throw this exception
       and what to print out when this exception is thrown?*/
}

1 个答案:

答案 0 :(得分:4)

您的例外唯一需要的是它被抛出的能力。简单地说,你可以抛出从java.lang.Throwable类继承的所有内容。但是,您应该从java.lang.Exception类继承您的例外。如果您像这样定义例外:

public class MyException extends Exception
{
}

这是一个完全有效的异常,可以抛出:

throw new MyException();

带有堆栈跟踪。如果未捕获异常并且离开main函数,则会打印此堆栈跟踪(以及异常类型)。没有特别说明未捕获时异常的作用。

但是,通常情况下,您的异常类至少应该使用字符串消息和另一个Exception来实现构造函数,只需调用具有相同参数的超级构造函数。这样,您可以向异常实例添加消息并在其中包含其他异常。