Выглядит нормально, и ошибка Application_Error должна быть вызвана.
Вы проверяли Debugging
ваше заявление?
На самом деле вы пропускаете Server.ClearError()
, поэтому исключение передается на asp.net, но вы должны подавить его здесь, потому что вы обрабатываете его самостоятельно.
protected void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
if (Server.GetLastError() is HttpUnhandledException)
{
// suppressing the error so it should not pass to asp.net
Server.ClearError();
Server.Transfer("ErrUnknown.aspx");
}
}