使用 RuntimeExceptions 进行错误处理是否是一种好的做法?



我需要处理一个字符串数组,其中包含整数(正数(作为字符串和字符串"POP"。

当 Integer 时,我需要将整数推送到整数堆栈中

当"POP"时,我需要删除最上面的元素。 最后,我需要返回最顶层的元素。

如果堆栈在处理输入期间或结束时的任何时间点为空,我需要返回 -1(错误(。如果错误,我不需要做任何其他事情。

我已经通过用 try catch 块包围它来实现这一点,如下所示:

try {
//logic
}
catch (EmptyStackException) {
return -1;
}

我的问题是,这是一种好方法 - 在这样的场景中抛出和捕获运行时异常?如果没有,最好的做法是什么?

Throwable(异常和错误(的优点是它们包含其他信息,例如堆栈跟踪,错误消息等

对于你的场景,我认为没有必要添加额外的信息,例如"哪一部分代码导致-1","-1的原因是什么","返回-1的详细解释是什么"等

因此,请:

if(stack.isEmpty()) { return -1 } else { // logic }

就足够了

相关内容

最新更新