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

相关推荐
IT19953 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
夕除3 小时前
redis--IO 多路复用(select + poll)
数据库·sql
2501_944521593 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理4 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1145 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人6 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
lzhdim7 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来7 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
meiying88387 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
数据库小学妹8 小时前
金融数据库成本怎么算?五笔钱加一张TCO表
数据库·金融行业·数据库选型·国产化替代·tco·金融数据库