Mja*_*ll2 9 java runtime exception
所以我的任务可能听起来很简单,但令我难以置信.我查看了互联网上的代码,但我无法掌握.我也不能掌握老师发布的幻灯片.这就是我的要求.
创建一个名为EmptyStackException的新运行时异常类型.
但是我不知道如何制作方法,类,变量或任何需要制作的东西以满足要求.我有几个类是DynamicArrayStack和LinkedStack的实现.Stack的接口.
任何指针都会非常有用.
谢谢
Mjall2
Jim*_*Jim 18
创建一个名为EmptyStackException的新运行时异常类型.
创建类型是由
public class EmptyStackException extends RuntimeException { ... }
Run Code Online (Sandbox Code Playgroud)
现在,只要我们知道在这个新类型(aka类)中放入什么.通常我们会查看超类中的方法并覆盖那些需要不同处理的方法.下面我已经覆盖了其中的一些,但委托回现有的课程.如果您不需要对行为进行任何更改,则无需执行此操作.
public class EmptyStackException extends RuntimeException {
public EmptyStackException() {
super();
}
public EmptyStackException(String s) {
super(s);
}
public EmptyStackException(String s, Throwable throwable) {
super(s, throwable);
}
public EmptyStackException(Throwable throwable) {
super(throwable);
}
}
Run Code Online (Sandbox Code Playgroud)
为此,您必须扩展RuntimeException类.
Java中有两种类型的异常:未经检查和已检查的异常.RuntimeExceptions是第二种类型.这意味着它们不需要显式处理和声明.
通常,在编写自定义异常时使用已检查的异常.这是通过扩展课程来完成的Exception.我没有看到任何用于创建自定义的用例RuntimeException.
无论如何,以下代码显示了如何编写自己的RuntimeException:
public class EmptyStackException extends RuntimeException{
public EmptyStackException(String message){
super(message);
}
}
Run Code Online (Sandbox Code Playgroud)
在源代码中,您可以通过以下语句使用它:
throw new EmptyStackException("Stack was Empty, can't pop");
Run Code Online (Sandbox Code Playgroud)
有关异常的更多信息,我建议您使用以下教程