使用RuntimeExceptions进行错误处理是一个好习惯吗?

时间:2017-07-18 23:06:54

标签: java exception-handling runtimeexception

我需要处理一个包含整数(正数)的字符串数组作为字符串和字符串“POP”。

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

当“POP”时,我需要删除最顶层的元素。 最后,我需要返回最顶层的元素。

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

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

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

我的问题是,这是一个好方法 - 在场景中抛出和捕获RunTimeExceptions吗?如果没有,最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

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

对于您的场景,我认为没有必要添加其他信息,例如“代码的哪一部分导致-1”,“-1的原因是什么”,“返回-1的详细说明是什么”等等

这样做:

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

就足够了