java - 正确捕获异常

标签 java exception

我通常倾向于不捕获“异常”,而只捕获我期望方法抛出的异常,我经常听说这是一个很好的做法。 但今天我遇到了这个问题,URLDecoder.decode(string,encoding) 方法引发了 IllegalArgumentException 。 该方法声明为:

public static String decode(String s, String enc)
    throws UnsupportedEncodingException{.....

但是它(“如果你查看源代码”)会在三个不同的地方抛出 IllegalArgumentException 。 所以我对更有经验的程序员的问题是,我应该捕获“异常”吗?或者这个方法只是被错误地声明了? 谢谢

最佳答案

不,你不应该捕获这些异常。 IllegalArgumentException 表示前提条件失败。它通常是由程序中的错误引起的,并且应该使您的应用程序崩溃。如果输入来自用户,则检测错误的输入并显示一条重要消息。

如果您的应用程序中有异常处理策略,那么您可以让此异常冒泡。

关于java - 正确捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28943477/

相关文章:

java - 当不使用 URL 读取 QR 码时,zxing QRCodeReader 中的 ChecksumException

java - 使用 JSF 从 JAR 文件中加载属性文件

java - Java中通过层处理嵌套异常的最佳方法

c# - 打开文件时处理错误的最佳方法

ios - 在 UIWebview 中打开一些 xlsx 文件时出错

java - 在 Java 9 迁移期间未找到不兼容的类型、等式约束和方法

java - 使用 Streaming API 转换 map 列表中的值

java - csv到java中的pdf文件

.net - 无法在 StorageException 处理程序中续订 Windows Azure SAS key

java - 试图获取不存在的记录: What exception to throw?