c# - 使用 Try-Catch 处理看到的错误,不好吗?

标签 c# try-catch

我有这个代码块:

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/

相关文章:

javascript - 清理缓存后如何恢复 Blazor WASM "offline-cache"?

c# - C# 中的 TFS 查询关键字搜索

c# - "being moved to page file"事件

Java:是否可以使 try/catch 更短?

javascript - 为什么在 `catch` 中触发 `fetch` 取决于我如何在第一个 `then` 中返回响应?

java - Stata有没有类似于Java的 `try and catch`机制?

c# - 可以使用 WCF + DTO + Automapper 吗?

c# - WPF - 将 UserControl 可见性绑定(bind)到属性

android - createNewFile() 抛出错误

Java try/catch 性能,是否建议将 try 子句中的内容保持在最低限度?