我需要处理一个包含整数(正数)的字符串数组作为字符串和字符串“POP”。
当整数时,我需要将整数推送到整数堆栈
当“POP”时,我需要删除最顶层的元素。 最后,我需要返回最顶层的元素。
如果在处理输入期间或结束时堆栈在任何时间点为空,我需要返回-1(错误)。如果出现错误,我不需要做任何其他事情。
我已经通过try catch块包围它来实现它,如下所示:
try {
//logic
}
catch (EmptyStackException) {
return -1;
}
我的问题是,这是一个好方法 - 在场景中抛出和捕获RunTimeExceptions吗?如果没有,最佳做法是什么?
答案 0 :(得分:1)
Throwable(异常和错误)的优点是它们包含其他信息,如堆栈跟踪,错误消息等
对于您的场景,我认为没有必要添加其他信息,例如“代码的哪一部分导致-1”,“-1的原因是什么”,“返回-1的详细说明是什么”等等
这样做:
if(stack.isEmpty()) { return -1 } else { // logic }
就足够了