如何抛出 StackOverflowException
How to throw a StackOverflowException
我目前正在制作有界数组堆栈。此方法将大于存储容量的数组抛出到 WhosebugException
,除了我不断收到“throws WhosebugException
部分
的错误消息
public void push(T item) throws WhosebugException {
//push item onto the stack,
if (isFull()) throw new WhosebugException();
else {
top++;
storage[top] = item;
}
}
错误信息:
Error:(52, 17) java: push(T)
in com.ld.BoundedArrayStack
cannot
implement push(T)
in com.ld.StackADT
overridden method does not throw
com.ld.WhosebugException
其他留言:
push(T)
in com.Id.BoundedArrayStack
clashes with push(T)
in
com.Id.StackADT
; overridden method does not throw
com.Id.WhosebugException
我不明白这是什么问题。
根据您的错误消息,您的超类 StackADT
定义 push
不抛出 WhosebugException
,因此此方法的任何覆盖都不会抛出 WhosebugException
。
您可以:
- 让你的
WhosebugException
成为RuntimeException
,随时都可以扔。您不必在 throws
子句或 中声明它
- 在
StackADT
中声明 push
方法,使其 throws
成为 WhosebugException
.
我目前正在制作有界数组堆栈。此方法将大于存储容量的数组抛出到 WhosebugException
,除了我不断收到“throws WhosebugException
部分
public void push(T item) throws WhosebugException {
//push item onto the stack,
if (isFull()) throw new WhosebugException();
else {
top++;
storage[top] = item;
}
}
错误信息:
Error:(52, 17) java:
push(T)
incom.ld.BoundedArrayStack
cannot implementpush(T)
incom.ld.StackADT
overridden method does not throwcom.ld.WhosebugException
其他留言:
push(T)
incom.Id.BoundedArrayStack
clashes withpush(T)
incom.Id.StackADT
; overridden method does not throwcom.Id.WhosebugException
我不明白这是什么问题。
根据您的错误消息,您的超类 StackADT
定义 push
不抛出 WhosebugException
,因此此方法的任何覆盖都不会抛出 WhosebugException
。
您可以:
- 让你的
WhosebugException
成为RuntimeException
,随时都可以扔。您不必在throws
子句或 中声明它
- 在
StackADT
中声明push
方法,使其throws
成为WhosebugException
.