我知道要创建一个新的异常,我必须创建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?*/
}
答案 0 :(得分:4)
您的例外唯一需要的是它被抛出的能力。简单地说,你可以抛出从java.lang.Throwable
类继承的所有内容。但是,您应该从java.lang.Exception
类继承您的例外。如果您像这样定义例外:
public class MyException extends Exception
{
}
这是一个完全有效的异常,可以抛出:
throw new MyException();
带有堆栈跟踪。如果未捕获异常并且离开main
函数,则会打印此堆栈跟踪(以及异常类型)。没有特别说明未捕获时异常的作用。
但是,通常情况下,您的异常类至少应该使用字符串消息和另一个Exception
来实现构造函数,只需调用具有相同参数的超级构造函数。这样,您可以向异常实例添加消息并在其中包含其他异常。