自定义异常StackException
package simulationStack;
public class StackException extends Exception{
public StackException() {super();}
public StackException(String message) {super(message);}
}
模拟pop方法弹栈,当栈为null时抛出自定义异常StackException
public Object pop() throws StackException{
if(pointer < 0) {
throw new StackException("栈空,无法继续弹栈!");
}
//返回弹出的元素
Object returnValue = arrayStack[pointer];
//最后一个元素置空
arrayStack[pointer] = null;
//栈帧指向前一个元素
pointer --;
return returnValue;
}
测试
//再次弹出将会提示栈空
try {
System.out.println("弹出了: " + stack.pop());
} catch (StackException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}