8得票1回答
为什么应该尝试使用未经检查的异常而不是经过检查的异常?

我被告知在我的代码中应该考虑抛出Unchecked exception而不是Checked exception,而且我还应该使用自己的RuntimeException来扩展它。现在,我确实了解这两者之间的区别,但仍然不明白为什么要这样做? 如果我有一个方法头,它会抛出两种异常: publi...

8得票2回答
自定义异常,包装多个异常: 是被鼓励的还是不被鼓励的?

我正在编写一个Java库,用于访问数据库。 我将异常抛给使用JAR库的最终程序员,让他/她自己处理它。 我编写了一个自定义的异常(在下面提供),将连接特定的异常一起包装起来,以便最终程序员不必在代码中捕获所有这些异常。(这样对他很容易) 在编写Java库时采用这种方式是一个好习惯吗? 使用这种...

8得票3回答
在Java中,被try块捕获的未经检查的异常是否是已检查的异常?

我听说在Java中,未经检查的异常可以在try块中捕获,但是如果被捕获了,它不就成为了已检查的异常吗?

8得票3回答
从lambda表达式中抛出异常

给出以下Java 8代码: public Server send(String message) { sessions.parallelStream() .map(Session::getBasicRemote) .forEach(basic -&gt...

7得票2回答
如何判断何时将异常定义为已检查异常或未检查异常?

我在阅读有关Java中已检查异常和未检查异常的区别以及何时使用它们的内容: 这是关键:如果可以合理地预期客户端从异常中恢复,那么将其设置为已检查异常。如果客户端无法从异常中恢复,那么将其设置为未经检查的异常。 一个客户端无法恢复的例子是除零操作,而客户端可以从FileNotFound异...

7得票4回答
处理灾难性异常

我在一本C#入门书中读到,如果你不知道该如何处理异常,就不应该捕获它。在使用Java编程时,我有时会遇到不知道该如何处理异常的情况,但是为了避免编译错误,我被迫捕获它或将其“上浮”。我不想在整个调用树中都加上throws子句,因此我经常会像下面这样“转换”异常为RuntimeException...

7得票4回答
如果我没有处理.NET代码可能抛出的一些未经检查的异常,我该如何知道?

在.NET中,方法签名并不能告诉我是否漏掉了代码可能抛出的某些异常。 是否有一些工具可以警告我,比如我正在使用HashTable remove但没有处理ArgumentNullException?我不想在运行时受到惊吓。 这是否意味着您需要非常熟悉自己的代码,否则未经检查的异常会更难处理?

7得票2回答
列出一个方法可能会抛出的所有异常。

我知道Java要求程序员列出方法可能抛出的所有异常,这样为代码用户列出所有可能抛出的异常提供了一种简单的方式。 另一方面,.NET没有这样的功能,我们只能使用API文档或XML文档,在其中有时会列出异常信息。 是否有适用于VS的插件,可以显示任何给定调用可能抛出的异常?鉴于反射的强大功能,...

7得票3回答
为什么 Java 中的运行时异常是“未检查”的?

为什么在运行时抛出异常应该是 未检查异常 (而不是 已检查异常)呢? 在 IT 技术中。