PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : رفع خطاها با استفاده از شی Err



khat.khati
2013-11-10, 19:37
انواع خطاها در در Asp

خطاها در Asp دو نوع اند:

)خطاي نحوي (Syntax error) :
اين خطاها مربوط به تايپ اشتباه دستورات مي باشند.كد اين خطاها در محدودهء 1001 تا 1058 مي باشد.
2)خطاهاي زمان اجرا(Run-time error): هر خطايي كه مربوط به مقولهء اشتباه تايپي نباشد در اين مقوله قرار مي گيرد مثلاً: تقسيم بر صفر / نبود يك عنصر يا ديسك / نبود مجوز /خطا در لود فايل هاي dll و ... . حدود 65 خطاي زمان اجرا وجود دارد.

دستور on error:
اين دستور به دو صورت استفاده مي شود:
كد:
On Error Resume Next

در صورتي اين دستور را در ابتداي برنامه قرار بدهيد در صورتي كه خطايي رخ بدهد انگار نه انگار كه خطا رخ داده و asp اجراي برنامه را براي نمايش خطا متوقف نمي كند.البته با استفاده از شي err مي توان اطلاعاتي در مورد خطا بدست آورد.
كد:
On Error GoTo 0

اين يكي ضد دستور قبلي است.فرض كنيد دستور On Error Resume Next را در ابتداي برنامه قرار داديد.اين به تمام صفحه تاثير مي گذارد.در صورتي كه خواستيد در جاهايي از صفحه در صورت وجود خطا ،خطا نمايش داده شود از اين دستور استفاده كنيد.

شي Err:
با استفاده از اين شي شما مي توانيد اطلاعاتي را در مورد خطا بدست بياوريد، خطا ايجاد كنيد(!) و ... .با هم متدها و خصوصيات اين شي رو مي بينيم.
خصوصيات شي Err:
Number:
اين خصوصيت پيش فرض شي err مي باشد و كد خطا را بر مي گرداند.
Description:
توضيحي در مورد خطايي كه اتفاق افتاده را بر مي گرداند.
Source:
نام شي يا برنامه اي كه باعث بوجود آمدن خطا مي شود را بر مي گرداند.
HelpFile:
فايل help مربوطه را معرفي مي كند.

متدهاي شي Err:
Raise:
اين متد كد خطا را دريافت كرده و خطا را ايجاد مي كند.
Clear:
اين متد تمام خصوصيات شي err را پاك مي كند.البته اين متد در صورتي كه يكي از اين سه دستور اجرا شوند به طور اتوماتيك اجرا مي شود:

On Error Resume Next
Exit Sub
Exit Function


مثال:
اين هم يه نمونه كد كه در اون از اين متدها و خصوصيات استفاده شده:


<html>
<body>
<%
on error resume next
for i=1001 to 1058
err.Raise i
Response.Write("<b>Code:</b> " & err.number & " <b>Discription:</b> " & err.Description & "<br>")
err.Clear
next
%>
</body>
</html>