在维护我同事的代码时,我经常看到以下代码:
try
{
//do something
}
catch
{
//Do nothing
}
或者有时他们会将日志记录信息写入日志文件,如下面的try catch
块
try
{
//do some work
}
catch(Exception exception)
{
WriteException2LogFile(exception);
}
我想知道他们所做的是不是最好的做法?这让我感到困惑,因为在我看来,用户应该知道系统发生了什么。
发布于 2014-06-20 23:15:06
唯一应该让用户担心代码中发生的事情的时候,就是他们是否可以或需要做一些事情来避免这个问题。如果他们可以更改表单上的数据,按下按钮或更改应用程序设置以避免该问题,请让他们知道。但是,用户无法避免的警告或错误只会使他们对您的产品失去信心。
异常和日志是针对开发人员的,而不是针对最终用户的。理解在捕获每个异常时要做的正确事情要比仅仅应用一些黄金法则或依赖于应用程序范围的安全网要好得多。
盲目编码是唯一一种错误的编码。事实上,你觉得在这些情况下可以做一些更好的事情,这表明你投资于良好的编码,但不要试图在这些情况下使用一些通用的规则,并首先理解抛出一些东西的原因,以及你可以做些什么来恢复它。
发布于 2013-02-20 14:36:29
第二种方法是一个很好的方法。
如果您不想通过显示与应用程序无关的运行时异常(即错误)来显示错误和混淆应用程序的用户,那么只需记录错误,技术团队可以查找并解决问题。
try
{
//do some work
}
catch(Exception exception)
{
WriteException2LogFile(exception);//it will write the or log the error in a text file
}
我建议您在整个应用程序中采用第二种方法。
发布于 2013-02-20 14:38:44
更好的方法是第二种方法(指定异常类型的方法)。这样做的好处是您知道这种类型的异常可能发生在您的代码中。您正在处理此类型的异常,您可以继续。如果出现了任何其他异常,那么这意味着有些地方出了问题,这将帮助您找到代码中的bug。应用程序最终会崩溃,但您会发现您遗漏了一些需要修复的东西(bug)。
https://stackoverflow.com/questions/14973642
复制相似问题