如何在操作成功时打印消息?
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)
只会在没有异常抛出的情况下才会被调用
我目前正在开发一个评分应用程序。当我写的方法运行成功时,我想通知用户操作成功。但是,当我尝试通过将方法放在 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)
只会在没有异常抛出的情况下才会被调用