C#:try和catch(保护程序不崩溃)

try和catch

为什么用try和catch

代码错误分为两类,一种编译错误,也就是语法错误,一般会有红色提示;一种运行错误,没有红色提示,知道运行的时候才会把错误抛出来

而try是执行try里面的代码,如果报错,就会被catch捕获错误,如果这个错误能解决,我们就给他解决掉,如果解决不掉,就抛出异常,如果使用多个catch,把具体的异常写在前面,把基类Exception写在最后

代码

cs 复制代码
intputNum
 try
 {
     string num = Console.ReadLine();
    int num1 = int.Parse(num);
    double sum = Math.Pow(10, num1);
    Console.WriteLine(sum);
 }
 catch (FormatException) //捕获字符串输入格式不正确
 {
     Console.WriteLine("输入格式不正确");
     goto inputNum;
 }
 catch (OverflowException)
 {
     Console.WriteLine("超出范围的异常信息");
     goto inputNum;
 }
 catch (Exception info)//异常类
 {
     Console.WriteLine("无法预知的错误");
     throw info; 
    //throw new Exception(info.Message);//info.Message异常信息 采用throw抛出异常;如果不想程序崩溃,就打印错误信息
}

常见的错误代码

Exception所有异常的基类

Exception 异常基类

FormatException 格式不正确异常

OverflowException 超出范围异常

DivideByZeroException 除数为0的异常

IndexOutOfRangeException 索引值越界异常

NullReferenceException 空引用的异常

FileNotFoundException 找不到文件的异常

相关推荐
“AI国潮设计-小江”1 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
程序喵大人2 小时前
【C++入门】编译链接模型 - 01 一个 C++ 程序是怎样变成可执行文件的
开发语言·c++·编译链接模型
sunshine22 girl3 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
菜鸟~noob2334 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
惊讶的猫5 小时前
工具选对之后还不够:商城 Agent 的参数与权限治理
开发语言·python
cmpxr_5 小时前
【MicroPython】如何刷新ESP8266的固件
开发语言·micropython
搭贝5 小时前
上厕所的时间搭好一套系统:AI自动生成实测
开发语言·人工智能·低代码·ai·php·搭贝
智感子5 小时前
智能称重·数据上云:从仪表读数到可追溯的计量凭证
开发语言·php
\光辉岁月/5 小时前
7.javase-面向对象
java·开发语言
weixin_531094696 小时前
heap_4内存管理
java·开发语言·算法