c# - 从 try...catch 返回 null 的方法

标签 c# null return try-catch

public SPListItemCollection GetACollection()
{
    try
    {
        //Method to get an item collection from somewhere
        if(itemCol != null)
            return itemCol;
        else
            return null;
    }
    catch(Exception ex)
    {
        LogException(ex);
        return null;
    }
}

此方法必须返回 null(不是空列表)- 无论是否捕获到异常。以上方法有效 - 但有更好的方法吗?

最佳答案

我必须首先说这是一件糟糕的事情,吞下异常是可怕的!不要这样做!它会困扰你并使调试变得非常非常困难,更糟糕的是由于异常而返回 null - null 通常最终会抛出 NullReferenceException ,这比被吞噬的异常(即使它被记录)更难调试,但是既然你问了:

public SPListItemCollection GetACollection()
{
    SPListItemCollection itemCol = null;
    try
    {
        //Method to get an item collection from somewhere
    }
    catch(Exception ex)
    {
        LogException(ex);
    }
    return itemCol;
}

关于c# - 从 try...catch 返回 null 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852228/

相关文章:

c++ - 为什么使用 NULL 指针调用类方法有效?

java - 除了== null,如何检查对象是否为null

JavaScript for循环 "jump over value"

c# - 如何在 ASP.NET MVC3 中创建图形?

c# - MVVM Light,将 RelayCommand<T> 与返回数据的方法一起使用

c# - "Temporarily Work Uncontrolled"能让我安全地保留 VSS 源代码控制吗?

c# - winform 的富文本编辑器

java - 在 Java 中再次使用相同变量之前使变量为 null

java - Java中的操作顺序是什么?

c - 函数返回表