【发布时间】:2021-04-12 13:15:51
【问题描述】:
我目前正在开发一个评分应用程序。当我编写的方法运行成功时,我想通知用户操作成功。但是,当我尝试通过将方法放在 try/catch/finally 块中来实现这一点时,无论该方法是否成功运行,都会命中 finally 块。
成功消息是一个可变字符串,所以它不在 finally 块的 "" 中。
我有以下 catch/finally 代码:
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
MessageBox.Show(Success);
}
所以当方法返回错误时,用户仍然会得到操作成功的消息。我该如何解决这个问题?
谢谢。
【问题讨论】:
-
finally block is hit regardless if the method ran successful这是真的。我建议阅读try-finally 文档以了解其工作原理。恕我直言,您不需要finally块。 -
我知道 finally 块是如何工作的,我想知道如何以其他方式解决这个问题?
-
有多种解决方法,删除
finally块,你不需要它,写入一个变量,然后用它来显示你需要的等等......