2010-06-07 2 views
5

UserControls в ASP.NET (4.0) наследует от System.Web.UI.UserControl. VisualStudio intellisense предлагает OnError как действительное переопределение TemplateControl. Во время выполнения .NET игнорирует эту обработку ошибок. Вызывается только OnError на странице уровня. Я что-то пропустил или есть проблема с дизайном?ASP.NET UserControl OnError

public partial class Sample : System.Web.UI.UserControl 
{ 
    protected override void OnError(EventArgs e) 
    { 
     // Never reach ;o) 
     base.OnError(e); 
    } 
} 
+0

Возможно: http://stackoverflow.com/questions/341417/handling-web-user-control-error-on-asp-net-page –

+0

@deniz dogan: я не мог использовать обработку ошибок вне элемента управления. он должен быть внутренним резервом. это также невозможно подключить к событию ошибки в OnInit. –

ответ

2

ах .. неуловимый OnError

эту страницу проливает некоторый хороший свет на внутреннюю работу этого события:

http://weblogs.asp.net/vga/archive/2003/06/16/8748.aspx

может быть, что некоторые исключения перехватываются ж/выкл. OnError

1

Почему вы хотите переопределить OnError? Вероятно, вам будет лучше, если использовать блок try/catch или подписаться на событие Application_Error.

+1

обработка ошибок для повторно используемых компонентов? –

+0

, потому что вам нужно обернуть КАЖДУЮ операцию в try/catch. OnError автоматически уведомляет вас о любых проблемах, если для этого вы его используете. try/catch подходит, когда вы знаете, какая ошибка может вызвать исключение и как справиться с этой ситуацией. –

Смежные вопросы