ħ
我们有常用的日志实用程序函数,我希望通过添加对Server.GetLastError()
的调用来调整它,如果还有错误也要记录。
日志功能是单独项目的一部分,所以我尝试使用HttpContext.Current.Server.GetLastError()
(就像我对Request,ServerVariables和Session属性所做的那样)。
在测试期间,我创建了一个简单的异常:
int i=0, j=0;
try
{
int k = i / j;
}
catch (Exception E)
{
Tools.CooLog("in");
}
Tools.CooLog("out");
为了找出“HttpContext.Current.Server.GetLastError()”是否会在调用Tools.CooLog("out");
时返回异常。
HttpContext.Current.Server.GetLastError()
中返回null。
2.也许最奇怪的是,在本地部分第一次调用CooLog期间,我看到了一些年轻,英俊和PHP版本 - 我看到有一个名为$ exception的值,令人惊讶的是{{1}无法检索!
所以我的问题是
1.为什么HttpContext.Current.Server.GetLastError()返回null? (HttpContext.Current.Server.GetLastError()
工作正常)
2.那个$例外来自哪里?有没有办法使用它? (在第二次调用CooLog时,变量未定义)
答案 0 :(得分:6)
这是一个特殊的调试器变量。您无法通过代码访问它。
你在Watch窗口中没有看到它的原因是异常是:
或
答案 1 :(得分:3)
$exception
只是调试器暂停执行程序的原因。这与您在catch块中可以访问的异常相同,例如E
。