问题标签 [checked-exceptions]
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.
java - 处理一些运行时 HTTP 异常的好习惯是什么?
我有一个看起来像这样的小方法:
}
该方法本身非常简单,但它有一堆异常发生,我不知道应该如何处理这些异常。通过做一个简单的“e.printStackTrace()”来抑制它们似乎不是一个好主意,所以我开始阅读异常处理最佳实践,但我还是有点迷茫。我应该如何处理异常?
我需要对我的异常做点什么,因为我不想null
从该方法返回。从我的方法返回 anull
意味着调用方法将无法了解我的方法内部是否发生了异常。
我应该创建一个自定义异常并引发它还是应该简单地引发未经检查的异常?
调用方法实际上不会对我的方法产生太大影响,即SocketException
如果网络连接出现问题,IOException
可能会发生 a,如果读取流出现问题,则可能会发生 a。调用方法最多可以做的是稍后重试。
如果我重新抛出我捕获的所有异常,调用方法只会充满异常处理块。
(如果这似乎是一个微不足道的问题,我很抱歉。我只是想学习编写更好的代码。谢谢。)
java - 如何在 Java 6 中捕获所有已检查的异常(在一个块中)?
重要提示:此问题仅与 Java 6(及以下)有关。
这里的层次结构显示 JavaException
分为两种类型:RuntimeException
和[不是 RuntimeException]:
UncheckedException
将其划分为类似的东西CheckedException
不是更好吗?例如,下面的语句有相当多的检查异常:
我只对它是成功还是失败真正感兴趣,因此希望将已检查的异常作为一个组来处理,而不是未检查的异常,因为捕获意外错误并不是一个好习惯。所以考虑到这一点,也许我可以做类似的事情:
但这似乎非常骇人听闻。有没有更好的办法?
java - Java、C++、Python 中的异常模型
嘿,我想知道 Java 异常模型在 C++ 和 Python 中有何不同?
我以为只有 Java 有检查异常,但从我读到的 Python 也有检查异常?
任何想法都会很棒,谢谢
java - 使用匿名线程捕获异常
我四处询问有关在线程上下文中捕获已检查异常的问题;接受的答案是使用Callable
s 和Future
s。
但我意识到我可以简单地用匿名线程包装“工作”方法并捕获异常,因为它将在没有线程的情况下执行。
(worker的逻辑从实现Callable的新类移到调用者类)
这种方法有什么问题吗?
java - java如何检测Checked Exceptions?
如果我写这样的东西:
Java 编译器在 .catch 子句处显示编译错误MalformedURLException
。如果我
URL url = new URL("HI");
在 try 块中插入行,抱怨就会停止。我认为 java 必须将这些检查的异常与 package.json 绑定。CookieManager manager = new CookieManager();
然后我通过仅在 try 块中插入“”来尝试另一类 java.net 包 。编译错误再次开始。
那么对于像这样的编译时错误,JVM 是如何将这些检查异常与 java 类绑定的呢?
java - 使用 NIO2 API 时摆脱检查异常
目前,我在 Guava API 的帮助下使用以下代码从类路径加载属性文件:
我决定尝试 Java7SE 中引入的新 NIO2 API 并删除任何 Guava API 调用,因此我将代码转换为以下内容:
URL
但是修改后的代码在和之间发生转换的那一行会抛出一个检查异常URI
。有什么办法可以摆脱它。例如,我可以得到一个Path
给定URL
的实例吗?
PS 我知道修改后的代码在语义上与原始代码不同 -如果找不到资源,则Guava 会getResource
抛出,在这种情况下,Java 会返回。IllegalArgumentException
getResource
null
java - 处理异常的 throws 语句——Java
假设以下代码:
someMethod抛出一个IOException,并且没有其他已检查的异常,并自行处理该异常。
究竟是什么
在它的声明中是带进来的?据我所知,调用someMethod()的方法可以自己处理IOException。
这里还有什么事情吗?
c# - HttpWebRequest 正确的异常处理
所以我HttpWebRequest
在 System.Net 程序集中使用 API,但是因为 C# 没有检查异常,我不确定将我的 try-catch 块放在哪里来正确处理由网络错误等常见问题引起的不可避免的异常。你知道,在 Java 中,我们称这些为普通的旧 check IOExceptions
。
这就是我到目前为止所拥有的。我的 try-catch 块是否正确设置以处理网络错误?我是否包装了正确的方法调用?看文档,我认为他们是对的,但我需要第二双眼睛。
syntax - 将 throws 子句放在财产声明中的什么位置?
编译器抱怨这段代码:
消息是:
我在什么地方把throws
条款放在财产声明中?
java - JDK中的那个例外是如何编译的?
该文件是 java.nio.channels.SocketChannel.java。JDK 7u45。摘录如下:
编译器如何让该代码通过?签名声明IOException,但方法的主体捕获Throwable并追溯它。我不明白什么?