操作成功时如何打印消息?

时间:2021-04-12 13:15:51

标签: c# try-catch

我目前正在开发一个评分应用程序。当我编写的方法运行成功时,我想通知用户操作成功。但是,当我尝试通过将方法放在 try/catch/finally 块中来实现此目的时,无论该方法是否成功运行,都会命中 finally 块。

成功消息是一个变量字符串,所以这就是为什么它不在 finally 块中的 "" 中。

我有以下捕获/最终代码:

  catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                MessageBox.Show(Success);
            }

所以当方法返回错误时,用户仍然会得到操作成功的消息。我该如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:5)

<块引用>

无论方法是否成功运行,都会命中 finally 块。

是的,这就是 finally 块的工作原理。

MessageBox.Show(Success) 移到 try 块的最后一行并删除 finally 块:

try
{
    //do something that might throw....

    MessageBox.Show(Success);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

那么 MessageBox.Show(Success) 只会在没有抛出异常时被调用。