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

标签 java exception runtimeexception

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

当整数时,我需要将整数压入整数堆栈

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

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

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

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

我的问题是,在这样的场景中抛出和捕获 RunTimeExceptions 是一个好方法吗?如果不是,最佳实践是什么?

最佳答案

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

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

这样做:

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

就足够了

关于java - 使用 RuntimeExceptions 进行错误处理是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45178495/

相关文章:

java - org.apache.hive.jdbc.HiveStatement/org.apache.hadoop.hive.jdbc.HiveStatement 之间的区别

java - FFMPEG 不是预期的 "cutting"

exception - 戈朗 : Defensive interfaces for nil types

java.lang.RuntimeException : Performing stop of activity that is not resumed:

更新 gradle 插件 3.6 后 Android App 运行时崩溃

java - 在Android中通过sharedPreferences在类之间传递值

java - 如何使用 CQL 和 Java 创建物化 View ?

asp.net core - 将异常描述传递给客户端(例如 Angular)

java - 我有一个 IndexOutOfBoundsException 并且不明白为什么

java - 尝试设置 CollapsingToolbarLayout 的副标题时获取 'java.lang.ClassCastException'