【C#】异常处理

异常处理是一种强大的机制,用于处理应用程序可能产生的错误或是其他可以中断程序执行的异常情况。
常见的语句有try…catch语句、throw语句、try…catch…finally语句。


try…catch语句

语法

try
{
    被监控的代码(可能出现异常的代码)
}
catch(异常类名 异常变量名)
{
    异常处理
}

例子

 static void Main(string[] args)
        {
            try     //尝试将用户输入的字符串类型转换成int类型
            {
                string strNum=Console.ReadLine();//接收用户收入的内容
                int num = Convert.ToInt32(strNum);//进行转换

            }
            catch (Exception ex)  //如果出现异常,则进行捕获异常
            {

                Console.WriteLine(ex.Message);//向用户进行异常信息的提示
            }
            Console.ReadKey();
            //程序在运行的时候,输入字符串"我是人",很显然是无法转换成int类型的,
            //有了try…catch语句,就不会出现程序异常。而是提示异常信息"输入的字符串格式有错误"
        }

throw 语句

throw语句可以从自已上理解,如果出现了异常就扔出异常 。

 static void Main(string[] args)
        {
            try    //做一个简单的除法
            {
                Console.WriteLine("请输入分母");   //接收用户输入的分母
                int strNum1= Convert.ToInt32(Console.ReadLine());  //接收用户输入的数据,并尝试转换成int类型
                Console.WriteLine("请输入分子");
                int strNum2 = Convert.ToInt32(Console.ReadLine());//接收用户输入的数据,并尝试转换成int类型
                if (strNum1==0)   //进行判断,如果用户输入的分母为0 ,那么程序会发生异常,
                //为了不中断程序的运行,用throw语句扔出异常信息,让用户知道。此时程序还在运行。
                {
                    throw new DivideByZeroException();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);//如果用户输入的字符串无法转换成int,
                //那么就告诉用户输入的字符串格式不正确,程序不会终止。
            }
            Console.ReadKey();

try…catch…finally语句

try…catch…finally语句 可以说是在try…catch语句上进行的 升级。
此语句的规则是:无论程序是否出现异常,最后都会执行finally语句中的内容
语法

try
{
    被监控的代码
}
catch(异常类名 异常变量名)
{
    异常处理
}
finally
{
    程序代码
}

例子

 static void Main(string[] args)
        {
            try     //尝试将用户输入的字符串类型转换成int类型
            {
                string strNum=Console.ReadLine();//接收用户收入的内容
                int num = Convert.ToInt32(strNum);//进行转换

            }
            catch (Exception ex)  //如果出现异常,则进行捕获异常
            {

                Console.WriteLine(ex.Message);//向用户进行异常信息的提示
            }
            finally
            {
                consol.WriteLine("程序执行完毕");
            }
            Console.ReadKey();
            //程序在运行的时候,输入字符串"我是人",很显然是无法转换成int类型的,
            //有了try…catch语句,就不会出现程序异常。而是提示异常信息"输入的字符串格式有错误"
            //不管程序在运行过程中会不会出现异常,都会执行finally的代码,输出“程序执行完毕”
        }

感谢你的阅读!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLLDa_&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值