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

How to print a message when action is succeeded?

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

成功消息是可变字符串,因此它不在 finally 块中的“”中。

我有以下 catch/finally 代码:

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

所以当方法returns出错时,用户仍然会得到操作成功的消息。我该如何解决?

谢谢。

the finally block is hit regardless if the method ran successful.

是的,这就是 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)只会在没有异常抛出的情况下才会被调用