我有这个代码块:
try
{
int QuestionAnswerID = 0;
// code block which assign value to QuestionAnswerID
item.QuestionAnswerID = QuestionAnswerID;
}
catch (NullReferenceException)
{
item.QuestionAnswerID = -999;
}
这在一个循环中运行,这肯定会在循环中遇到 2-3 次 catch block 。这段代码完全符合我的要求,但只是想知道使用 try-catch block 处理已知问题是否是一种不好的做法。
如果我在抛出异常之前使用 if 语句来识别 null 值会更有效吗?
最佳答案
是的,这是不好的做法,因为抛出和捕获异常是相当昂贵的,异常不应该用于常规操作,只能用于错误处理。
解决这个问题的首选方法是自己检查对象是否为 null
并适本地处理这种情况。
关于c# - 使用 Try-Catch 处理看到的错误,不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19513023/