- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我不知道怎么说我已经使用 Java 4 年了,这是我第一次遇到这个参数 enableSuppression
谁能解释一下它的作用以及何时使用启用/禁用它?
最佳答案
enableSuppression
是Throwable
(包括Exception
)的构造函数中的参数
判断是否开启抑制。
来自 Javadocs :
The suppression behavior is enabled unless disabled via a constructor.
Note that when one exception causes another exception, the first exception is usually caught and then the second exception is thrown in response. In other words, there is a causal connection between the two exceptions. In contrast, there are situations where two independent exceptions can be thrown in sibling code blocks, in particular in the try block of a try-with-resources statement and the compiler-generated finally block which closes the resource. In these situations, only one of the thrown exceptions can be propagated. In the try-with-resources statement, when there are two such exceptions, the exception originating from the try block is propagated and the exception from the finally block is added to the list of exceptions suppressed by the exception from the try block. As an exception unwinds the stack, it can accumulate multiple suppressed exceptions.
An exception may have suppressed exceptions while also being caused by another exception. Whether or not an exception has a cause is semantically known at the time of its creation, unlike whether or not an exception will suppress other exceptions which is typically only determined after an exception is thrown.
Note that programmer written code is also able to take advantage of calling this method in situations where there are multiple sibling exceptions and only one can be propagated.
关于java - Java RuntimeException enableSuppression 参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438308/
我真的很难弄明白这一点。当我查看 logcat 指向错误的位置时,它指向这一行: throw new RuntimeException(i); 在里面 public void onDetach() {
@Transactional (noRollbackFor=RuntimeException.class) public void methodA (Entity e){ service.met
我正在开发简历应用程序并遇到以下异常 在gradle文件上,我尝试了所有可能的解决方案,使缓存重启无效,并且干净的gradle不起作用 java.lang.RuntimeException:java.
我的项目在 Android Studio 3.0.1 上的 Whatchap 中,这是我的设计 gradle。build.gradle(应用程序) 应用插件:'com.android.applicat
// Top-level build file where you can add configuration options common to all sub-projects/modules.
您好,目前我正在开发包括解析服务器的项目,并且在将解析库添加到我的项目后,当我运行它时,它显示此错误,任务“:app:checkDebugDuplicateClasses”执行失败。 Exec
我找到了 another post显示我们如何创建我们自己的检查异常,它也返回不同于 500 的 HTTP 状态代码。但是,我需要它是一个 RuntimeException。然后,我找到了WebApp
我尝试在 7.40 系统上演示具有动态方法名称的 CALL METHOD 语句。我使用下面的测试代码,在第 27 行得到一个 ABAP 运行时错误。异常描述中的错误分析状态 ... 在类 LCL 中,
我的ViewModel类抛出了RunTimeException。它基本上不能创建ViewModel类的实例。这是堆栈跟踪: 2019-05-29 01:27:56.700 9698-9698/com.
我安装了Hive 0.9.0,运行它时出现错误: ./hive Logging initialized using configuration in jar:file:/usr/lib/hive-0.
当我尝试在 android 4.1.1(galaxy nexus)上运行 opencv(2.4.2) sample3时。我收到RuntimeException。 Logcat指向此处:(android
Java中除了RuntimeException之外还有其他可能发生的异常吗?谢谢。 最佳答案 是的,有三种种。 检查异常 编译器会让您知道何时可以抛出它们,很可能是由于环境中的故障。 如果程序可以
这个问题已经有答案了: Why runtime exception is unchecked exception? (5 个回答) 已关闭 7 年前。 我知道受检查的异常继承自 Exception并且
这里发生了什么? 为什么 IOException (RemoteException) 的检查子级会转换为 RuntimeException? 摘自here的片段 import java.rmi.Rem
源代码(osmand)没有错误 我使用了 eclipse 和 sdk 模拟器 2.2,从 googlecode checkout (osmand应用程序) 我的代码: public void onCr
我开始研究线程,我不明白为什么下面的简单代码不起作用。它正在抛出: RuntimeException: can't create handler inside thread that has not
我想为自己破例。但是当我抛出异常时,程序就关闭了。那么我怎样才能运行我的方法3次然后关闭程序呢? (我的程序在intArray之后关闭,但我想遍历dobleArray和charArray) 这是我的异
我有一个扩展 HttpServlet 的类包含以下两个方法。当客户端向 Tomcat 服务器上运行的 Web 应用程序发出请求时,http 请求将通过此类处理,但是如果 doSomething 方法抛
在很多地方,我都会遇到几个检查异常,例如 IOException、ParseException、JSONException 等。我必须做出两个选择 - 通过在方法签名末尾添加 throws 来引发相同
RuntimeExceptions 应该指示编程错误,我希望我的应用程序在我的可观察对象中的某些东西抛出 RuntimeException 时崩溃。 最好的方法是什么?现在我正在考虑这个解决方案(它是
我是一名优秀的程序员,十分优秀!