问题标签 [unchecked-exception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
23059 浏览

java - Java 未经检查或不安全的操作消息

在BlueJ中编译Java类时出现以下错误。

仅当以下反序列化代码位于我的某个函数中时,才会显示此错误:

我能否提供一些关于为什么显示此错误的信息,以及使用反序列化代码没有错误的一些帮助。

0 投票
2 回答
161 浏览

java - Java 未经检查的异常

谁能告诉我为什么这个方法会抛出未经检查或不安全的异常?我知道当我尝试编辑我正在迭代的列表时会发生这种情况......在下面,currentAdvanceTactics 等根本没有被迭代。

这是创建主列表中使用的对象的方式:

parsedTactics 只是被读入不同变量的原始数据。

战术大师是这样声明的:

然后当我创建它包含在其中的对象时:

currentAdvanceTactics 列表等都是这样创建的:

提前感谢您的帮助!

0 投票
1 回答
4352 浏览

java - 异常的编译时检查。finally 块隐式抛出未经检查的异常的情况

以下代码完美编译。我相信这是因为编译器在编译时知道控件将转到 finally 块并抛出未经检查的异常(这没关系,不需要处理)并且它知道代码之前抛出的所有其他异常至此都迷失了。所以不用担心他们。

例子:

到目前为止一切顺利,直到我从方法中抛出未经检查的异常。

例子:

此代码不会编译。它将 c.m1() 标记为错误“未处理的异常类型 _”(eclipse)或“未报告的异常 _;必须被捕获或声明为抛出”(cmd)。

就像它忽略了finally块将抛出 LAST 异常(未检查)并且无需担心 catch 块中的异常,即使它是未处理的检查异常,因为它们无论如何都会丢失!知道 m2() 被声明为专门抛出未经检查的异常 (RuntimeException)。

有人对为什么第二个代码中存在编译错误有更好的解释吗?谢谢 :)

0 投票
8 回答
555 浏览

java - Java - 检查与未经检查的异常 - 仅从代码中分辨?

是否可以仅通过查看代码来判断异常类是已选中还是未选中?我一直认为,如果它扩展了 Exception,它就被选中了,但是 RuntimeException 扩展了 Exception 并且没有被选中。RuntimeException 可能是唯一违反该经验法则的类,如果不扩展 RuntimeException,其他未经检查的异常必须扩展 Throwable。但是,我看不出 RuntimeException 与 Exception 有何不同。我想知道差异是否在解释器本身内部定义?

0 投票
1 回答
130 浏览

java - 在处理网络(URL、连接……)时要捕获哪些未经检查的异常?

我正在使用 Axis 以及在其方法声明的已检查异常中处理 Web 服务:ServiceExceptionRemoteException​​(AxisFault当然,这些取决于调用的特定方法,所以这些并不是所有相关的异常,我知道,但这不是这里的重点)。

在对我的代码进行一些测试时,我无意中在 URL 上放置了一个长端口号,导致代码抛出(未经检查的)异常IllegalArgumentException,直到现在我才发现。

现在,在使用 web 服务和一般网络时,我必须处理哪些相关的未经检查的异常?
我试图在网上搜索,但我不断得到Checked vs unchecked exceptions结果。

有什么建议吗?那里有清单或指南吗?

0 投票
3 回答
1534 浏览

java - 声明一个方法抛出一个未经检查的异常有好处吗?

如果我有一个引发未经检查的异常的方法,例如:

显式声明该方法抛出异常有什么好处,即

与描述 javadoc 中的行为相反(或除此之外):

我声称拥有它没有用的原因throws是:

  • throws没有提供关于在什么情况下抛出异常的信息,只提供它可能被抛出的信息;
  • 因为它是一个未经检查的异常,所以我在调用代码时不必强制处理异常。如果我去查看 ; 的实现,我只会真正知道它可能会被抛出doSomething
  • 的主体doSomething可能会调用抛出其他类型的未检查异常的代码;声称“这种方法抛出IllegalArgumentException”似乎只是讲述了故事的一部分,可能;
  • 如果方法是非最终的,它可以被覆盖,这样新的实现被声明为抛出额外的未经检查的异常;你不知道你正在调用哪个实现。

我声称拥有它会很有用的原因throws是:

  • 它报告了您在调用该方法时可能会遇到的问题。

简而言之,我认为这throws是不必要的,但是通过 javadoc 描述@throws很有用。我很想知道其他人对此的看法。

0 投票
2 回答
723 浏览

java - JVM 如何处理 RuntimeException(s)

在创建自定义异常时,如果要创建已检查的异常,我们扩展 Exception 类,对于未检查的异常,我们扩展 RuntimeException 类。我的问题是,当它们都是Exception类的子类时,JVM 如何以不同的方式处理 RuntimeException 和 Exception 的子类。

0 投票
1 回答
876 浏览

java - 验证服务的 Java Checked vs Unchecked 异常

我有一项服务,允许用户将动态内容添加到存储库。所以基本上我有一个通用 Document 类,它包含该特定对象的属性列表,具体取决于用户添加的文档类型(例如,发票文档具有发票编号属性,而 wiki 文档具有作者属性,等等上)。

该服务由不同的层组成,有时我有一个类,它必须检查要添加的文档是否符合规则配置器,评估是否提供了所有必需的属性,它们是否都是正确的类型等. 如果这些验证中的任何一个失败,我想抛出一个包含验证状态的自定义异常。

问题是:我的 ValidationException 应该被选中还是不选中?我阅读了很多关于如何决定使用哪种异常的最佳实践。我正在考虑使用 RuntimeException 但在这种情况下,异常不是由编码错误或类似的东西引起的,而只是由用户输入引起的......另一方面,使用检查的异常意味着传播“抛出”语法应用程序的所有上述层以及可能在 90% 的服务方法中使代码的可读性和可维护性大大降低。

0 投票
1 回答
61 浏览

java - 为什么不建议使用 try...catch 块来处理未经检查的异常?为什么只通过一些条件检查呢?

为什么不建议使用 try...catch 块来处理未经检查的异常?为什么我们只需要通过一些条件检查来避免它们?

0 投票
2 回答
791 浏览

java - 如何在 Java 中将未检查的异常转换/包装为已检查的异常?

Java中的Unchecked Exceptions可以转换成Checked Exceptions吗?如果是,请提出将未检查异常转换/包装为已检查异常的方法。