如何处理c#中的null异常

本文关键字:中的 null 异常 处理 何处理 | 更新日期: 2023-09-27 18:14:23

我得到空异常。当我直接兴奋这一页。我想处理null异常

c#

string json = "";
if (Request.QueryString["data"] !="")
{
    json = Request.QueryString["data"];
    var req = JsonConvert.DeserializeObject<Request>(json);//getting error in this line
    string requestid = req.requestId;
    SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MYSTRING"].ConnectionString);
    SqlCommand cmd = new SqlCommand();
    connection.Open();
}
误差

Value不能为空。参数名称:value

如何处理c#中的null异常

假设Request.QueryString["data"]为空。你现在检查的是它是否是一个空字符串的引用,而不是它是否是一个空引用。我怀疑你想用string.IsNullOrEmpty来检查:

string json = Request.QueryString["data"];
if (!string.IsNullOrEmpty(json))
{
     var req = JsonConvert.DeserializeObject<Request>(json);
     ...
}

您可以遵循以下两种方法:-

方法1:
if (Request.QueryString["data"] != null && Request.QueryString["data"].toString() != string.Empty)
{
   .. Your Content Goes Here
}
方法2:
if (!string.IsNullOrEmpty(Request.QueryString["data"].toString()))
{
   .. Your Content Goes Here
}

您可以使用string.isNullOrwhiteSpace()方法,它返回bool值…如果输入为空,则为True…如果有字符

则为False

Request.QueryString["data"]为null时,您会得到这样的错误。因此,在使用该值之前应该检查是否为空。c#中的null不能直接转换为String。john skeet提出了更好的方法。

 string json=Request.QueryString["data"];
 if(string.IsNullOrEmpty(json)){//Do your code;}