C#异常处理:程序出错了怎么办?

我们写**C#**程序的时候,经常会遇到各种各样的问题,比如输入的内容不是数字、文件找不到、数组下标超出了范围等等。程序一旦遇到这些问题,可能直接报错甚至闪退。这个时候就需要用到异常处理。

C# 里最常用的异常处理就是 "try-catch" 。简单来说,"try" 就是**"这段代码可能出问题,你先帮我试试看"** ,而**"catch"** 就是"如果真的出问题了,我来处理"

如:

cs 复制代码
try
{
    int num = Convert.ToInt32("abc");
}
catch
{
    Console.WriteLine("输入的内容不是数字!");
}

上面的代码中,""abc"" 无法转换成整数,所以会发生异常。程序不会直接崩掉,而是进入**"catch"**里面执行。

如果我们想知道具体出了什么问题,还可以使用**"Exception"**:

cs 复制代码
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

这里的**"ex.Message"**可以获取异常的具体信息。

另外还有一个常见的**"finally"** ,不管有没有发生异常,它里面的代码都会执行。比如关闭文件、释放资源等操作,就很适合放在**"finally"**里面。

总结:try 负责尝试catch 负责处理finally负责收尾。

相关推荐
Leon-Ning Liu23 分钟前
Oracle 19c ASMB 进程 PGA 内存泄漏排查实战 (Bug 38610635)
数据库·oracle
步行cgn25 分钟前
Spring 注入 null 和空字符串详解
数据库·spring·oracle
Yyyyyy~28 分钟前
【java】类和对象
java·开发语言
Allen_LVyingbo33 分钟前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(下)
大数据·数据库·人工智能·python·自然语言处理·自动化
草莓熊Lotso40 分钟前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
Joy T1 小时前
Spring AI 2.0 进阶入门:Workflow、Routing、Task State 与可控 Agent
开发语言·人工智能·workflow·routing·springai·orchestrator·evaluator
YangYang9YangYan1 小时前
2026 校招市场数据分析 JD 拆解,SQL 要求、工具与面试考点
数据库·人工智能·数据分析
重生之小比特1 小时前
【Java SE】抽象类和接口
java·开发语言
传奇开心果编程1 小时前
【Rust入门知识点学与练】第33课:异步编程入门(async/await)强化
开发语言·学习·rust
风哥2号1 小时前
数据库教程FGMT40‑MySQL性能优化之性能基准测试
数据库·mysql