【发布时间】:2017-07-18 23:06:54
【问题描述】:
我需要处理一个包含整数(正数)的字符串数组作为字符串和字符串“POP”。
当整数时,我需要将整数压入整数堆栈
当“POP”时,我需要删除最上面的元素。 最后,我需要返回最顶层的元素。
如果堆栈在处理输入期间或结束时的任何时间点为空,我需要返回 -1(错误)。如果出现错误,我不需要做任何其他事情。
我通过用如下的 try catch 块包围它来实现这一点:
try {
//logic
}
catch (EmptyStackException) {
return -1;
}
我的问题是,这是一种好方法吗 - 在这样的场景中抛出和捕获 RunTimeExceptions?如果没有,最好的做法是什么?
【问题讨论】:
-
如果 POP 和 stack.isEmpty() -> 返回 -1
-
@assylias 我明白你的意思。但是有理由不使用 RunTimeException 吗?例如,如果还有其他操作,例如“+”,它会添加两个最上面的元素 - 使用 EmptyStackException 不是更容易吗?
-
如果 stack.size() >= 2?一般来说,对控制流使用异常并不是一个好习惯。它也更慢。
标签: java exception-handling runtimeexception