我有个方法就像
public void methodName() throws ExecutionException, InterruptedException {}
SonarQube对此方法提出了一个问题,建议重构此代码。
如果我将这些异常替换为异常
(这两个异常都进行了扩展),则表示抛出例外
过于泛化。
如何解决此问题?
确切的sonarQube消息:重构此方法以引发atmost一个已检查异常,而不是ExecutionException、InterruptedException
sonarQube的详细提示:https://sbforge.org/sonar/rules/show/squid:S1160?layout=false
我真的没有答案给你,但我想可能值得更深入地研究例外。我在 docs.oracle.com 上查找了以下定义:
ExecutionException:试图检索因引发异常而中止的任务的结果时引发异常。可以使用Throwable.getCause()方法检查该异常。
InteruptedException:当线程正在等待、睡眠或以其他方式被占用,并且线程在活动之前或期间被中断时抛出。有时,一个方法可能希望测试当前线程是否已被中断,如果是,则立即抛出此异常。可以使用以下代码来实现此效果:if(Thread.interrupted ()) // Clears中断状态!抛出新的InterruptedException();
话虽如此,也许执行异常的本质意味着我们不必担心捕获InteruptedException(因为当错误处理另一个抛出的异常时会引发ExcecutionException)。所以也许我们尝试这样的事情:
public void methodName() throws ExecutionException {}
如何从一个方法中同时抛出多个异常?示例: 编辑:一个条件同时抛出Exception1和Exception2。可能?这只是一个测试抛出异常的演示文件。
问题内容: 检查表是否存在于MySQL中(最好通过PHP中的PDO)而不抛出异常的最佳方法是什么。我不喜欢解析“ SHOW TABLES LIKE”等的结果。必须有某种布尔查询吗? 问题答案: 我不知道它的PDO语法,但这看起来很简单:
问题内容: 据我了解,如果不逐一查找API文档,就无法找出方法抛出的异常。 由于这是没有选择的,因此我想撤消研究,并询问您在处理时遇到的最常见的Exception和RuntimeException: 铸件 数组 向量,ArrayList,HashMap等 IO(文件类,流,过滤器…) 对象序列化 线程(wait(),sleep()等) 或任何其他被视为“基本Java”的内容 我意识到这可能是主观的
正如您所看到的,我已经尝试实现NPE但没有成功。如何在一个JUnit方法中检查多个异常?我在网上检查了一些操作方法,但也失败了。
问题内容: 我想知道只有Integer.parseInt(无论如何)都不会失败的情况下才能做些什么。 更具体地说,我有一个jTextArea用户指定值,由换行符分隔。 我想检查每一行,看看是否可以转换为整数。 想出了类似的东西,但是不起作用: 任何帮助表示赞赏。 问题答案:
我有以下两个示例,我不清楚java.lang.Exception是如何处理的:作为检查的或未检查的异常。 以下方法编译成功: 在这里,我认为java.lang.Exception是威胁java.lang.RuntimeException或java.lang.Error。不处理也可以声明扔。 如果我们没有使用异常,而是使用了检查异常(它是java.lang.Exception的子类),那么您必须在方