我有一个ASP.NET应用程序.一切都很好,但是最近我收到了本身为空的异常:

try
{
    // do something
}
catch (Exception ex)
{
    Logger.Log("Error while tried to do something. Error: " + ex.Message);
}

有时ex本身就是null

有什么 idea 吗?

推荐答案

对于在这里结束的任何人,我已经找到了一个可以实现这一点的实例(如果只能在调试器中检测到的话).VS2013更新4.

破碎的:

try
{
    // do something
}
catch (WebException ex) // <- both variables are named 'ex'
{
    Logger.Log("Error while tried to do something. Error: " + ex.Message);
}
catch (Exception ex) // <- this 'ex' is null
{
    Logger.Log("Error while tried to do something. Error: " + ex.Message);
}

解决方案是以不同的方式命名异常变量.

固定的:

try
{
    // do something
}
catch (WebException webEx) // <- all good in the hood
{
    Logger.Log("Error while tried to do something. Error: " + webEx.Message); // <-
}
catch (Exception ex) // <- this 'ex' correctly contains the exception
{
    Logger.Log("Error while tried to do something. Error: " + ex.Message);
}

Asp.net相关问答推荐

无法从部署在应用程序负载均衡器后面的 AWS ECS 上的应用程序发送 HTTP/S 请求

如何从 Azure 上托管的应用服务获取登录用户名?

DBSet 不包含 Where 的定义

在 lambda 表达式中否定 Func

Server.Transfer 在执行子请求时抛出错误.如何解决?

/应用程序中的服务器错误. ASP.NET

asp.net:与其中的用户控件相比,控件/页面的页面生命周期顺序是什么?

我可以根据角色隐藏/显示 asp:Menu 项吗?

返回 IHttpActionResult vs IEnumerable vs IQueryable

通过 jQuery 调用 ASP.NET 服务器端方法

如何将 css 类添加到 ASP.Net 中的更新面板?

以编程方式添加跨度标签,而不是标签控件?

ASP.NET IIS Web.config [内部服务器错误]

回发后 Document.Ready() 不起作用

IIS 8.0 ASP.NET 和错误 500.19

IIS - 无法通过 ip 地址而不是 localhost 访问页面

C# - 将图像输出到响应输出流给出 GDI+ 错误

将列表转换为 json 格式 - 快速简便的方法

在 ASPNET 标识 2.0 中禁用用户

为什么 C# 对于 CSC 文件会遇到此错误?