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负责收尾。

相关推荐
盟接之桥42 分钟前
AI助手:你的7×24小时智能管家——让异常预警无处不在
大数据·网络·数据库·人工智能·制造·ai编程
waoooqwe44 分钟前
问卷样本真实吗
大数据·数据库·算法·数据分析
geovindu1 小时前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
“AI国潮设计-小江”1 小时前
《Python+SDXL实战:用ControlNet批量生成“英歌舞麻将糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc
可乐ea1 小时前
Agent 评测换判据:用终态数据库状态判定任务是否完成
数据库·ui·oracle·mcp工具·agent评测·终态断言·智能体可靠性
l1t1 小时前
DeepSeek总结的一个不含数据的 DuckDB 数据库
服务器·数据库·duckdb
Cc.Y2 小时前
Java零基础入门:封装与继承 —— 从“裸奔“到“穿衣服“,从“重复造轮子“到“站在巨人肩膀上“
java·开发语言
Escalating_xu2 小时前
【C 语言】深入理解指针(4):回调函数、qsort、void * 与泛型排序的模拟实现
java·c语言·开发语言
吠品2 小时前
GitHub 周榜拆解:决策小模型扎堆上位
c语言·开发语言·算法
PaperData2 小时前
2007-2020年税收调查面板数据
数据库