使用Try-Catch-Finally来处理算术异常

0 c# error-handling try-catch-finally

我想尝试两种不同的东西(两者都有很大的失败可能性),因此我想使用"finally"语句运行"安全",以防前两次尝试失败.

请看以下示例(这不是我在项目中使用的代码!).

int zero = 0;
int one = 1;

try
{
    // Throws ' cannot divide by zero ' error
    int error = one / zero;
}

catch
{
    // Throws error again of course
    int somenum = one / zero;
}

finally 
{
    MessageBox.Show("I can never make it here ..."); 
}
Run Code Online (Sandbox Code Playgroud)

所以,我希望我的程序能够执行以下操作:

  1. 尝试除以零
  2. 如果步骤#1 失败,我希望'catch'语句运行它的代码(在这个例子中它应该再次失败).
  3. 如果步骤#1和#2都失败了,我希望我的程序在'finally'语句中显示MessageBox.

我甚至接近这个吗?

Pet*_*nov 5

int zero = 0;
int one = 1;

try {
    try
    {
        // Throws ' cannot divide by zero ' error
        int error = one / zero;
    }

    catch (DivideByZeroException)
    {
        // Throws error again of course
        int somenum = one / zero;
    }
}
catch (DivideByZeroException)
{
    MessageBox.Show("I can never make it here ...");
}
Run Code Online (Sandbox Code Playgroud)