Java 在 try block 内抛出异常

标签 java exception

我有一个如下所示的代码:

try {
    if (resp.equals("a")) {
       success(resp);
   } else if (resp.equals("b")) {
       throw new Exception("b error");
   } else if (resp.equals("c")) {
       throw new Exception("c error");
   }

} catch (Exception e) {
    dosomething(e.getMessage());
}

我的 catch 语句没有捕获错误...当我抛出 try block 之外的异常时,我是否做错了什么?

最佳答案

您的 if-else block 都不会被执行,因为您在所有这些 block 中都使用 == 来比较字符串。在这种情况下,try block 根本不会抛出任何异常

使用equals方法来比较所有情况下的字符串:

if (resp.equals("a"))

或者:

if ("a".equals(resp))   // Some prefer this, but I don't

第二种方法将避免NPE,但通常我会避免使用这种方法,因为我不知道潜在的异常,并且以后可能会陷入陷阱。

关于Java 在 try block 内抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14860601/

相关文章:

java - 检查加载的类是否可以从另一个分配?

java - 如何使选择时区更加人性化?

java - 无法解决部署 JSP 期间的符号错误

java - 加速多个 JDBC SQL 查询?

python - python中的异常

c# - InvalidParameterException 或 IllegalArgumentException

java - 等待函数完成执行并使用结​​果

java - SAXBuilder 构建抛出 java.lang.StringIndexOutOfBoundsException

java - 保留 TEXT 数据类型时出现 Hibernate 错误

java - 指定默认值