我正在使用以下代码:
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/