c# - 如果 C# 中的对象参数为空,我如何创建自己的异常

标签 c# exception

我正在使用以下代码:

public static string ToJSONString(this object obj)
{
    using (var stream = new MemoryStream())
    {
        var ser = new DataContractJsonSerializer(obj.GetType());

        ser.WriteObject(stream, obj);

        return Encoding.UTF8.GetString(stream.ToArray());
    }
}

但是当对象为 null 时,我得到以下信息:

System.NullReferenceException 未被用户代码处理 HResult=-2147467261 Message=对象引用未设置为对象的实例。

有什么方法可以捕获这个异常并将它返回给调用程序。现在它给了我上述错误并且 Visual Studio 停止了。

最佳答案

处理您的具体情况的正确方法是

if (myObject != null)
{
     string json = myObject.ToJSONString(); 
     // other logic
}
else
{
     // handle the situation where myObject is null
}

这样做可以避免触发异常。

关于c# - 如果 C# 中的对象参数为空,我如何创建自己的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22405402/

相关文章:

c# - 0xC0000005 : Access violation reading location 0xffffffffffffffff

跨线程中的 C++ 同步和异常处理

c# - 在 if 语句中检查多个数组是否为 null

c# - Unity UnityWebRequest 没有返回值

c# - 如何在文件操作中使用事务?

c# - 访问数据库时应用程序崩溃

exception - 如何捕获 monotouch/ios 中的所有崩溃异常?

swift - 串行链接 do-try-catch 控制流的正确模式是什么?

java - vector IndexOutOfBoundsException

c++ - 当不包含标准头时,如何抛出标准库异常 bad_alloc 和调用 std::abort ?