try
{
//当try内代码发生异常,代码将不再执行,跳转到catch
//对不同的异常,使用不同的方式来处理
}
catch (NullReferenceException ex)
{
//空指针异常
Console.WriteLine("空指针异常:{0}", ex.Message);
}
catch (DivideByZeroException ex)
{
//除数为0
Console.WriteLine("除数为0:{0}", ex.StackTrace);
}
catch (ArgumentException ex)
{
//参数异常
Console.WriteLine("参数异常:{0}", ex.StackTrace);
}
catch (Exception ex)
{
//剩余异常
Console.WriteLine(ex.StackTrace);
}
finally {
//不论如何都会执行,如果catch无法捕获异常,则程序崩溃,崩溃前会执行finally代码
//若捕获到异常,且catch内有return,则执行完finally后不再执行
}
//异常处理代码的几种形式
//try-->多个catch-->一个finally
//try-->(一个或多个catch),多个catch的顺序问题。可以没有finally
//try-->finally(只有一个),没有catch
//
//通过逻辑判断if-else减少异常发生的可能,尽量避免异常处理
//多级方法的嵌套调用的时候,如果发生异常,则会终止所有相关方法,并且释放资源
try {
string name = "name";
if (name == "name")
{
throw new Exception("抛出异常");
}
else
{
}
} catch (Exception ex) {
Console.WriteLine(ex.Message);//显示“抛出异常”
Console.WriteLine(ex.StackTrace);//显示详情,位置
}
try catch异常处理
最新推荐文章于 2023-10-22 00:54:15 发布