温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

catch块该如何使用

发布时间:2026-10-06 16:42:00 来源:亿速云 阅读:89 作者:小樊 栏目:编程语言

catch 块通常和 try(有时还有 finally)配合使用,用来捕获并处理异常,防止程序因错误直接崩溃。

下面以几种常见语言为例说明。


一、基本结构(以 Java / C# / JavaScript 为例)

1️⃣ 基本用法

try {
    // 可能抛出异常的代码
    int x = 1 / 0;
} catch (Exception e) {
    // 异常处理
    System.out.println("出错了:" + e.getMessage());
}

2️⃣ 多个 catch(按异常类型区分)

try {
    // 可能出错的代码
} catch (NullPointerException e) {
    // 处理空指针
} catch (IOException e) {
    // 处理 IO 异常
} catch (Exception e) {
    // 兜底异常
}

⚠️ 子类异常要写在前面,父类异常写在后面


二、try-catch-finally

try {
    // 执行业务
} catch (Exception e) {
    // 出错处理
} finally {
    // 无论是否异常都会执行(常用于释放资源)
}

示例(关闭资源):

Connection conn = null;
try {
    conn = getConnection();
} catch (Exception e) {
    e.printStackTrace();
} finally {
    if (conn != null) conn.close();
}

三、catch 中常见的操作

✅ 打印日志

catch (Exception e) {
    log.error("处理失败", e);
}

✅ 重新抛出异常

catch (Exception e) {
    throw new RuntimeException("业务异常", e);
}

✅ 返回默认值

catch (Exception e) {
    return Collections.emptyList();
}

四、JavaScript 中的 catch

try {
    JSON.parse("abc");
} catch (e) {
    console.log(e.message);
}

ES2019 后可省略参数:

try {
    // ...
} catch {
    // 不关心错误信息
}

五、使用 catch 的注意事项

❌ 不要吞掉异常(什么都不做)

catch (Exception e) {
    // 空 catch,极其不推荐
}

❌ 不要捕获 Throwable(Java)或过于宽泛的异常

✅ 只捕获你能合理处理的异常


六、什么时候用 catch?

  • 调用可能失败的方法(IO、网络、解析)
  • 用户输入不可信
  • 需要优雅降级
  • 需要记录错误日志

如果你指的是 某种具体语言(Python / C++ / Go) 或 某种场景(异步、事务、Spring),可以告诉我,我可以讲得更针对性。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手