טיפול בשגיאות ברמת דף (page level error)

במידה והדבר אפשרי, אזי רצוי לטפל בעזרת מנגנון catch/try בשגיאות ברמת הקוד הגורם לשגיאה, אולם לעתים הדבר אינו אפשרי ולכן רצוי ליצור מעגל נוסף של טיפול בשגיאות. סביבת ASP.NET מאפשרת לנו ליצור מעגל תפיסת שגיאות ברמת הדף (page level errors) כמו גם ברמת האפליקציה. במדריך זה נראה כיצד לתפוס שגיאות ברמת דף.

כיצד נלכוד שגיאות מערכת ברמת הדף

כדי ללכוד שגיאות ברמת דף נשתמש באירוע page_error שהוא אירוע מובנה בכל דף ב - ASP.NET.  אירוע זה מתרחש כל אימת שמתרחשת שגיאה לא מטופלת כלשהי.

בדוגמה הבאה נראה כיצד ביכולתנו להשתמש באירוע page_error כדי ללכוד שגיאה לא מטופלת. בדוגמה שלנו אנו עוברים לדף שגיאות כלליות כלשהו באתר שלנו. ביכולתנו כמובן גם לנסות ולהתמודד עם השגיאה כבר בשלב זה על ידי בירור סוג השגיאה באמצעות המתודה Server.GetLastError.

דוגמה לקוד לכידת שגיאות ברמת דף

Private Sub Page_Error(ByVal sender As Object, ByVal e As EventArgs)

' הבא את השגיאה האחרונה מהשרת
Dim exc As System.Exception = Server.GetLastError


' הצג הודעת שגיאה כללית כלשהי למשתמש
Server.Transfer("GenericErrorPage.aspx", True)

' נקה את השגיאה מהשרת
Server.ClearError()

End Sub


סיכום

במדריך קצר זה ראינו כיצד ניתן ללכוד שגיאות לא מטופלות כבר בשלב הדף. ראינו כיצד ניתן ללמוד מהי השגיאה הלא מטופלת וכן כיצד להציג למשתמש הודעה כללית כלשהי בעקבות השגיאה.


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש