2010-06-07 3 views
5

UserControls in ASP.NET (4.0) ereditano da System.Web.UI.UserControl. Intellisense di VisualStudio suggerisce OnError come override valido di TemplateControl. A runtime .NET ignora questa gestione degli errori. Viene richiamato solo l'errore OnError a livello di pagina. Mi sono perso qualcosa o c'è un problema di design?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

Probabilmente correlato: http://stackoverflow.com/questions/341417/handling-web-user-control-error-on-asp-net-page –

+0

@deniz dogan: non ho potuto utilizzare un errorhandling al di fuori del controllo. deve essere un ripiego interno. non è nemmeno possibile allegare all'evento di errore in OnInit. –

risposta

1

Perché si desidera ignorare OnError? Probabilmente starai meglio usando un try/catch block o abbonandoti all'evento Application_Error.

+1

gestione errori per componenti riutilizzabili? –

+0

perché avresti bisogno di racchiudere OGNI operazione in try/catch .. OnError dovrebbe automaticamente notificare qualsiasi problema, se è per quello che stai usando. try/catch è adatto quando si sa quale errore potrebbe causare l'eccezione e come gestire quella situazione. –