【发布时间】:2014-07-30 02:46:02
【问题描述】:
我有一个 try catch 用于通过 WPF C# 应用程序发送电子邮件,如下所示:
try { smtpmail.Send(message); }
catch (Exception err) { throw new CustomException("Error contacting server.", err); }
但是,如果遇到此错误,我不希望应用程序停止运行/崩溃。相反,只需将错误更改为错误消息TextBox 我已在应用程序中设置...或与不使应用程序崩溃相关的内容,而是通知用户稍后再试(或者如果问题仍然存在:联系so-and - 所以)。
编辑: 预期:要记录错误,但用户会看到,
errorMsg.Text = "Error contacting server. Try again later, or if problem persists contact Billy Bob Boo";
我该如何实施?
更新:对于不清楚的问题表示歉意。基本上我需要关于如何记录我的错误但向用户显示友好错误消息的帮助......但我问得不好。使用提供的 cmets 和答案,我在下面进行了更多研究,回答了我自己的问题。感谢大家! :)
【问题讨论】:
-
如果你要扔,你需要在某个地方接住。
-
如果你不想抛出错误,为什么要捕获错误然后抛出另一个异常?
-
可能会抛出异常(并且您的程序崩溃),因为您正在抛出异常。你抓住它,但重新抛出它。要么在链的更远位置捕获错误并记录它/显示错误消息(但不要使程序崩溃),要么在此处执行此操作。
-
@Savanna 我捕获并声明异常
err,但不要在任何地方使用它。我不希望用户确切知道错误是什么,所以我抛出一个CustomException -
你卡在哪里了?你知道如何将文本放入文本框中吗?解决方案的哪一部分让您感到困惑?
标签: c# wpf exception-handling