H У нас есть служебная функция журнала, которую мы вызываем довольно часто, и я хотел оживить ее, добавив вызов к Server.GetLastError()
и, если возникнет ошибка, также зарегистрировать.Функция log является частью отдельного проекта, поэтому я попытался использовать 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");
.
Вместо этого у меня было два больших сюрприза 1. В обоих звонках HttpContext.Current.Server.GetLastError()
вернул ноль.2. И, возможно, самым странным является то, что во время первого вызова CooLog в секции localals я увидел немного моей молодой, красивой и PHP-версии - я увидел, что есть значение с именем $ exception, и удивительно, что у него есть исключение, что HttpContext.Current.Server.GetLastError()
не удалось получить!
![$exception is defined and HttpContext.Current.Server.GetLastError() fails](https://i.stack.imgur.com/txGTU.png)
Итак, мои вопросы: 1. Почему HttpContext.Current.Server.GetLastError () возвращает ноль?(HttpContext.Current.Request.ServerVariables
отлично работает) 2. Откуда взято исключение $?есть ли способ его использовать?(во втором вызове CooLog переменная не определена)