异常捕获

关于异常捕获

一.作用

1
2
3
4
string str=Console.ReadLine();
//将玩家输入的内容存储string类型的变量(容器)中。
int i=int.Parse(str);
//Parse转字符串为数值类型时,必须要合法合规。如果你字符串输入中文,可能就不合法了。(报错)

通过对异常捕获的学习,可以避免当代码报错时,造成程序卡死的情况。

二.基本语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//try与catch为必备部分
try
{
//代码块内容:希望进行异常捕获的代码块(即你认为可能会报错的代码)放到try中
//如果try中的代码报错了,不会让程序卡死。而是会转到catch.
}catch
{
//如果出错了,会执行catch中的代码,来捕获异常。
//catch(Exception e)(当代码出错,会进行具体报错跟踪,通过e得到具体的错误信息。)
}
//可选部分
finally
{
//最后执行的代码,不管有没有出错,都会执行其中的代码
//目前可以不用写,等到之后的模块再进一步补充。
}
//注意:异常捕获代码基本结构中不需要加;在里面去写代码逻辑时,每一句代码才要加。

三.具体实践

1
2
3
4
5
6
7
8
9
10
11
try{
string str=Console.ReadLine();
int i=int.Parse(str);
Console.WriteLine(i);
}
catch{
Console.WriteLine("请输入合法数字:");
}finally
{
Console.WriteLine("执行完毕");
}

如果输入合法数字(int类型能放的数字),就会直接输出i的数字。‘

输入不合法的数字(eg:中文等等),会执行catch块中的代码,打印出WriteLine()的内容。

程序不会卡死了。

finally模块无论什么时候都会输出(目前的功能是这样的,后期会进一步学习)。


异常捕获
https://gaster44.github.io/2023/10/26/异常捕获/
作者
huangjinhong
发布于
2023年10月26日
许可协议