c# 异常捕获

一:异常捕获
异常:语法上没有错误,在程序运行时,因为某些原因出现错误,导致程序不能正常运行。
为使程序更加健康好用,我们应该多使用try-catch
语法
try
{
可能出现异常的代码;
}
catch
{
出现异常后执行的代码;
}

执行过程:try中的代码没有出现异常,则catch里面不会自行,如果try中代码出现异常,则后面的代码都不执行,直接跳到catch中的代码执行。
Console.WriteLine(“输入一串数字”);
try
{
int number = Convert.ToInt32(Console.ReadLine());
}
catch
{
Console.WriteLine(“输入的内容,不能被转换为数字!”);
}
Console.WriteLine(number * 2);
Console.ReadKey();
上面的代码,Console.WriteLine(number * 2);里面的Number会报错:变量未赋值,这里就涉及到变量的作用域问题。
变量作用域:
变量的作用域就是你能够使用到这个变量的范围。
变量的作用域一般从声明它的那个括号开始到那个括号所对应的结束的括号结束。
在这个范围内,我们可以访问并使用变量。超出这个范围就访问不到了

//try作用域外声明变量,这样就能被访问到,这里还有一个问题,即输出不能被转换的代码后,依然会在输出一个0的结果,因为下面那句是在外面的
int number = 0;//在外面定义变量
Console.WriteLine(“输入一串数字”);
try
{
number = Convert.ToInt32(Console.ReadLine());//赋值
}
catch
{
Console.WriteLine(“输入的内容,不能被转换为数字!”);
}
Console.WriteLine(number * 2);//使用
Console.ReadKey();

上面的代码由于错误也会多输出一行0,所以需要做如下更改,使输入需要满足一定条件才能。
//声明一个bool变量
bool b = true;
//try作用域外声明变量,这样就能被访问到,这里还有一个问题,即输出不能被转换的代码后,依然会在输出一个0的结果
int number = 0;//声明一个变量
Console.WriteLine(“输入一串数字”);
try
{
number = Convert.ToInt32(Console.ReadLine());
}
catch
{
Console.WriteLine(“输入的内容,不能被转换为数字!”);
b = false;//不满足条件把bool设置为假
}
//要执行这段代码,需要满足一定的条件
//让代码满足某些条件才执行,使用bool变量
if (b)//满足bool值为真才执行
{
Console.WriteLine(number * 2);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值