我们通常在 GUI(表单)等代码的上层捕获异常。
但是我一般都有这种代码
try
{
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
MessageBox.Show("Application has encountered error....");
}
我可以在没有标识符的情况下直接 catch(Exception),因为我在运行时不需要消息,但对于调试构建,在 catch 语句处中断肯定很方便。所以我通常会写一个 Console.WriteLine 来防止很多未使用的 ex 变量的警告。我的代码中有很多 Console.WriteLine(ex.Message) 的情况。这样性价比会下降吗?
注意:更改了标题“Console.WriteLine(ex.Message) 是否有性能成本?”到“调用 Console.WriteLine(ex.Message) 以防止出现警告消息”
最佳答案
这是 1 中的多题,所以我将尝试展开它:
首先
try{
...
}
catch(Exception)
{
}
是完全有效的语法。添加 Console.WriteLine(ex.Message) 只是为了在没有警告的情况下进行编译并不是正确的做法。
其次
Console.WriteLine 不是进行诊断的正确方法,请查看 Trace.WriteLine 或更好的是 Logging framework .当然Console.Writeline是有开销的,开销不算太严重,但是调用了,还是有开销的。
第三
有时崩溃更好,它迫使你解决根本问题,至少做一个Debug.Assert如果真的有什么不好的事情发生。
关于c# - 调用 Console.WriteLine(ex.Message) 以防止出现警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056324/