使用try catch处理c#中的异常
本文关键字:异常 处理 try catch 使用 | 更新日期: 2023-09-27 18:02:48
我有3个方法,我尝试捕捉每个方法。如果在第三个方法中出现错误,则进入exception.
private void M1()
{
try
{
//some code
//calling M2()
//some code
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void M2()
{
try
{
//some code
//calling M3()
//some code
}
catch(Exception ex)
{
throw ex;
}
}
private void M3()
{
try
{
//some code
//Error Occur
//some code
}
catch(Exception ex)
{
throw ex;
}
}
现在它直接转到M1()方法并显示Exception。另一个方法是
private void M1()
{
try
{
//some code
//calling M2()
//some code
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void M2()
{
try
{
//some code
//calling M3()
//some code
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
private void M3()
{
try
{
//some code
//Error Occur
//some code
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
异常后,还执行M2()和M1()中的代码。
没有好与坏的设计,只有你的场景决定了最好的方法。
如果你想捕获M1上的错误,那么不要在M2和M3中写入Try .. catch
。
如果你想在函数中处理错误,那么把Try .. catch
放在同一个函数中。