Keep on going never give up.

Let's Go

C# 学习笔记(30)try-catch(异常处理)语句

C#Lonely2019-05-11 03:30:3045次0条

为了捕捉程序中的异常,可能会出错的代码要放到一个 try 块中(try是C#关键字)。代码运行时它会尝试执行 try 块内的所有语句。如果没有语句产生异常,这些语句将一个接一个执行下去,直到运行结束。如果一旦出现异常,则跳出 try 块,去执行 catch 块中的内容(可以有多个 catch 同时存在)。

        在 try 块后紧接着写一个或多个 catch 处理程序(catch 也是 C# 关键字),用它们处理任何发生的错误。每个 catch 处理程序都负责捕捉并处理一种特定类型的异常,你可以在一个 try 块后面写多个 catch 处理程序。

当一个异常抛出时,它会改变程序的执行流程。因此不能保证一个语句结束后,它后面的语句一定会执行,在 C# 中这个问题可以用 finally 解决。为了确保一个语句总是能执行(不管是否抛出异常),需要将该语句放到一个 finally 块中,finally 要么紧接在 try 块之后,要么紧接在 try 块之后的最后一个 catch 处理程序之后。只要程序进入与一个 finally 块关联的 try 块,则 finally 块始终都会运行。

语法:

try

{

    //可能会报异常的代码

}

catch(异常类 变量名)

{

    //如果try中代码出现异常,则跳进catch中执行

}

可以有多个catch...

finally

{

    //不管是否抛出异常,都会执行finally中的代码

}

一般在try中获取并使用资源,在catch中处理异常情况,并在finally中释放资源。

代码示例:

Console.WriteLine("请输入一个数字,并按回车键确定:");
try
{
    Console.WriteLine("你输入了:"+ double.Parse(Console.ReadLine()));
}
catch(Exception ex)
{
    Console.WriteLine("异常信息:" + ex.Message);
    Console.WriteLine("熊孩子昂,叫你输入数字咋不听话啊,你看报异常了可咋整啊?你这孩子彪啊");
}
finally
{
    Console.WriteLine("嘤嘤嘤!无论是否出现异常,我都会被执行!");
}
Console.ReadKey();





暗锚,解决锚点偏移

文章评论

    嘿,来试试登录吧!