خوش آمديد!
15:00 سه شنبه 2 خرداد ماه ، 1391
تبلیغات راست
پکیج آموزش جامع دوره مهندسی شبکه مایکروسافت MCSE
خبر خوان

خبر خوان

دسته بندی مقالات
وب
  مقالات HTML
  مقالات PHP
  مقالات ASP.NET
  مقالات CSS
  مقالات XML
  مقالات JavaScript
  مقالات CMS
  مقالات Dreamweaver
  مقالات ColdFusion
  مقالات IIS
  مقالات Apache
  مقالات AJAX
  مقالات Flex
  مقالات AIR
  مقالات Expression Web
  مقالات SEO
  مقالات عمومی وب
برنامه نویسی
  مقالات C / C++
  مقالات C#
  مقالات VB.NET
  مقالات VB6
  مقالات دلفی
  مقالات VbScript
  مقالات اکشن اسکریپت
  مقالات Python
  مقالات سیلور لایت
  مقالات عمومی برنامه نویسی
سخت افزار
  مقالات CPU
  مقالات RAM
  مقالات دیسک سخت
  مقالات MainBoard
  مقالات کیبورد
  مقالات کارت گرافیک
  مقالات چاپگر
  مقالات عمومی سخت افزار
سیستم عامل
  مقالات ویندوز سون
  مقالات ویندوز ویستا
  مقالات ویندوز XP
  مقالات لینوکس
  مقالات سیستم عامل مک
  مقالات عمومی سیستم عامل
گرافیک دو بعدی
  مقالات فتوشاپ
  مقالات Illustrator
  مقالات Corel
  مقالات Painter
  مقالات QuarkXpress
  مقالات InDesign
  مقالات Fireworks
  مقالات Lightroom
  مقالات Bridge
  مقالات آکروبات
  مقالات فلش
  مقالات Expression Medial
  مقالات Expression Blend
  مقالات عمومی گرافیک دو بعدی
گرافیک سه بعدی و انیمیشن سازی
  مقالات تردی مکس
  مقالات مایا
  مقالات اتوکد
  مقالات عمومی گرافیک سه بعدی
میکس و مونتاژ
  مقالات After Effects
  مقالات پرمیر
  مقالات ادیوس
  مقالات SoundBooth
  مقالات Apple Reason
  مقالات Corel Video Studio
  مقالات Audition
  مقالات Pro Tools
  مقالات FLStudio
  مقالات SoundFordge
  مقالات عمومی ویرایش صوت و فیلم
پایگاه داده
  مقالات SQL Server
  مقالات اکسس
  مقالات MySQL
  مقالات اراکل
  مقالات عمومی پایگاه داده
شبکه
  مقالات اکسچنج سرور
  مقالات SharePoint Server
  مقالات ویندوز سرور 2003
  مقالات ویندوز سرور 2008
  مقالات ISA Server
  مقالات VMware
  مقالات MS Virtualization
  مقالات MCSE
  مقالات MCITP
  مقالات CCNA
  مقالات CCNP
  مقالات CCIE
  مقالات مایکروسافت System Center
  مقالات Wireless
  مقالات Wi-Fi
  مقالات WiMax
  مقالات Citrix
  مقالات DSL
  مقالات BizTalk
  مقالات Commerce Server
  مقالات Forefront
  مقالات Groove
  مقالات Communication Server
  مقالات Project Server
  مقالات Storage Server
  مقالات امنیت شبکه
  مقالات VoIP
  مقالات عمومی شبکه
آفیس و برنامه های تجاری
  مقالات Word
  مقالات Excel
  مقالات Access
  مقالات PowerPoint
  مقالات Visio
  مقالات OneNote
  مقالات Publisher
  مقالات Outlook
  مقالات Amalga
  مقالات Dynamics AX
  مقالات Dynamics CRM
  مقالات Dynamics GP
  مقالات Dynamics NAV
  مقالات Dynamics POS
  مقالات Dynamics RMS
  مقالات Dynamics SL
  مقالات عمومی آفیس و برنامه های تجاری

Error Handling در ASP.NET

Error Handling در ASP.NET

خطا‌ و یا Error از جمله واژه های معروف در ادبیات برنامه نویسی است كه هر برنامه نویس صرفنظر از میزان مهارت خود با آن مواجه خواهد شد . پیاده كنندگان برنامه های وب نیز از این قاعده مستثنی نبوده و ممكن است در زمان پیاده سازی این نوع برنامه ها با مجموعه ای از خطاها برخورد نمایند . علاقه مندانی كه پلت فرم مایكروسافت را برای طراحی و پیاده سازی برنامه های وب انتخاب نموده اند ( ASP.NET ) ،‌ می توانند با استفاده از امكانات موجود با خطاها برخورد و آنان را مدیریت نمایند .



پس از بروز خطا در یك صفحه ، ASP.NET اطلاعات مربوط به خطا را برای سرویس گیرنده ارسال می نماید . یك صفحه وب ASP.NET ممكن است در زمان اجرا به یكی از خطاهای زیر برخورد نماید :
خطاهای پیكربندی : زمانی كه گرامر و یا ساختار فایل web.config نادرست باشد ، ایجاد می گردند .
خطاهای پارسر : زمانی كه گرامر ASP.NET بر روی یك صفحه نادرست باشد ، ایجاد می گردند .
خطاهای ترجمه : زمانی كه عبارات و دستورات نوشته شده در صفحات متناسب با گرامر زبان استفاده شده نباشند ،‌ ایجاد می گردند .
خطاهای زمان اجرا : در زمان اجرای یك صفحه ایجاد می گردند .
پس از بروز یك خطا‌ ،‌ به صورت پیش فرض اطلاعات موجود در Stack كه حاوی فراخوانی ترتیبی مجموعه ای از روتین ها است ، نمایش داده می شود . در صورتی كه debug mode فعال شده باشد ،‌ ASP.NET شماره خط بروز خطا در كد منبع را كه باعث بروز خطا ‌شده است را نمایش خواهد داد . debug mode یك ابزار ارزشمند برای اشكال زدائی برنامه ها می‌باشد .
فعال كردن debug mode در سطح page : بدین منظور از دایركتیو زیر استفاده می گردد :

<%@ Page Debug="true" %>

فعال كردن debug mode در سطح Application : بدین منظور از فایل Web.config موجود در فهرست ریشه application استفاده می گردد :

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

اثرات جانبی فعال كردن debug mode
فعال كردن debug mode كارآئی سیستم را كاهش و افزایش حجم عملیات سیستم را به دنبال خواهد داشت ، بنابراین لازم است پس از اتمام فرآیند پیاده سازی نرم افزار و نصب در محیط عملیاتی ، آن را غیرفعال نمود . پس از فعال شدن debug mode در صورت بروز خطا‌ ، شماره خط به همراه جزئیات مربوطه نمایش داده می شود .
سفارشی كردن صفحات خطا
برای برخورد با خطا از روش های متفاوتی استفاده می گردد. مثلا در زمان پیاده سازی لازم است جزئیات مربوط به خطا نمایش داده شود تا بتوان اشكالات موجود را سریعا تشخیص و برطرف نمود . بدیهی است پس از آماده شدن برنامه و نصب در محیط عملیاتی ،‌ضرورتی به نمایش جزئیات خطا وجود نخواهد داشت . در چنین مواردی می توان با استفاده از امكانات موجود تمهیداتی را اتخاذ نمود كه محل بروز خطا به سرویس گیرندگان محلی ، راه دور و یا هر دو نمایش داده شود . در زمان بروز خطا به صورت پیش فرض، اطلاعات مربوط به خطای ایجاد شده صرفا برای سرویس گیرندگان محلی ( سرویس گیرندگانی كه برنامه را مستقیما از طریق كامپیوتر سرویس دهنده اجرا می نمایند ) ،‌ نمایش داده می شود . در چنین مواردی می توان یك صفحه خطا سفارشی را ایجاد تا در صورت بروز خطا ، سرویس گیرندگان به آن صفحه هدایت گردند .
برای فعال كردن خطاهای سفارشی از امكانات موجود در فایل Web.Config استفاده می گردد . كد زیر نحوه انجام این كار را نشان می دهد :

Web.Config
<configuration>
<system.web>
<customErrors defaultRedirect="DefaultErrorPage.htm" mode="RemoteOnly" />
</system.web>
</configuration>

پیكربندی فوق باعث نمایش جزئیات خطا برای سرویس گیرندگان محلی می گردد ولی سرویس گیرندگان از راه دور به یك صفحه خطا سفارشی هدایت خواهند شد ( DefaultErrorPage.htm ) . صفحه فوق می‌ تواند یك صفحه aspx . نیز باشد .
ASP.NET مسیر صفحه ای‌ را كه باعث بروز خطا‌ شده است را به عنوان یك آرگومان QueryString برای صفحه خطا ارسال می نماید(ErrorPage ). در صورتی كه صفحه سفارشی خطا‌ خود دارای یك خطا‌ باشد ، یك صفحه خالی برای سرویس گیرندگان از راه دور ارسال می گردد .

DefaultErrorPage.htm
<%@ Page Language="VB" Description="Error page"%>
<html>
<head>
<title>صفحه خطا </title>
</head>
<body>
بروز خطا در صفحه : <%=Request.QueryString("ErrorPage") %>
</body>
</html>

توجه داشته باشید كه صرفا فایل هائی كه به aspnet_isapi.dll در IIS نسبت و یا map شده اند، خطای فوق را تولید خواهند كرد و فایل هائی كه به aspnet_isapi.dll نسبت داده نشده اند ، توسط ASP.NET پردازش نشده و مسئولیت ارائه خطا‌ برعهده IIS خواهد بود .
با توجه به مقدار نسبت داده شده به خصلت Mode ، در خصوص نمایش خطا برای سرویس گیرندگان راه دور ، محلی و یا هر دو تصمیم گیری می شود . جدول زیر مقادیر نسبت داده شده به خصلت Mode و تاثیر آن بر روی درخواست های محلی و از راه دور را نشان می دهد .
Mode درخواست های محلی درخواست های از راه دور
On نمایش صفحه سفارشی خطا
Off نمایش صفحه خطا ASP.NET
RemoteOnly نمایش صفحه خطا ASP.NET نمایش صفحه سفارشی خطا
مثال : نحوه استفاده از
▪ مرحله اول : پیكربندی لازم در فایل Web.Config

Web.Config
<configuration>
<system.web>
<customErrors defaultRedirect="DefaultErrorPage.htm" mode="RemoteOnly" />
</system.web>
</configuration>

▪ مرحله دوم : ایجاد صفحه سفارشی خطا

DefaultErrorPage.htm
<html dir=rtl>
<head>
<title>بروز اشكال در برنامه </title>
</head>
<body >
<font face="Tahoma">
<h۴>اشكال در صفحه درخواستی </h۴>
<P Align="rtl" Dir="rtl">

در حال حاضر امكان پاسخ به درخواست شما وجود ندارد ،
لطفا اشكال ایجاد شده را از طریق آدرس info@test.ir به اطلاع مدیریت سایت برسانید .

</p>
</font>
</body>
</html>

پس از ایجاد مراحل فوق ، در صورت بروز خطا ( عدم وجود فایل ، بروز اشكال بر روی سرویس دهنده و یا سایر خطاهای متداول در صفحه درخواستی ) ، فایل DefaultErrorPage.htm نمایش داده می شود .
صفحه سفارشی خطا با نام DefaultErrorPage.htm كه در مثال قبل ایجاد شده بود برای تمامی موارد خطا نمایش داده می شود . در صورت تمایل می توان برای هر نوع خطا یك صفحه خاص را طراحی تا پس از بروز خطا نمایش داده شود . بخش پیكربندی دارای یك تگ داخلی با نام است كه مرتبط با كدهای وضعیت HTTP می باشد .

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="/DefaultErrorPage.htm">
<error statusCode="۵۰۰" redirect="/error/ServerError.htm"/>
<error statusCode="۴۰۴" redirect="/error/Filenotfound.aspx"/>
<error statusCode="۴۰۳" redirect="/error/Forbidden.aspx"/>
</customErrors>
</system.web>
</configuration>

مدیریت خطا‌ از طریق كد برنامه
با استفاده از امكانات موجود در ASP.NET می توان از طریق كد نوشته شده با خطا برخورد نمود ( هم در سطح page و هم در سطح application ) .
- Page Level : كلاس پایه page دارای متدی با نام Page_Error است كه می توان آن را در صفحات استفاده نمود .

Page Level
<script language="VB runat="server">
Sub Page_Error(Source As Object, E As EventArgs)
Dim message As String = "<font face=Tahoma color=red>" _
& "<h۴>" & Request.Url.ToString() & "</h۴>" _
& "<pre><font color red;>" _
& Server.GetLastError().ToString() & "</pre>" _
& "</font>"
Response.Write(message)
End Sub
</script>

- Application Level: از رویداد Application_Error در فایل Global.aspx استفاده می گردد . پس از بروز هر نوع خطای غیرقابل پیش بینی رویداد فوق فعال می گردد.

Application Level
Sub Application_Error(sender As Object, e As EventArgs)
...عملیات مورد نظر
End Sub



ارسال شده در مورخه : دوشنبه، 28 تير ماه ، 1389   چاپ مطلب

آموزش مجازی سازی با VMWare


مرتبط با موضوع :

 آموزش ASP.NET MVC - بخش سوم  [يكشنبه، 27 فروردين ماه ، 1391]
 آموزش ASP.NET MVC - بخش دوم  [يكشنبه، 27 فروردين ماه ، 1391]
 آموزش ASP.NET MVC - بخش اول  [يكشنبه، 27 فروردين ماه ، 1391]
 مروري بر تاريخچه محدوديت حافظه مصرفي برنامه هاي ASP.NET در IIS  [شنبه، 8 مرداد ماه ، 1390]
 مسیریابی آدرس در ASP.NET 4  [دوشنبه، 22 فروردين ماه ، 1390]
 آموزش Asp.net (بخش دوم)  [دوشنبه، 28 تير ماه ، 1389]
 آموزش asp.net (بخش اول)  [دوشنبه، 28 تير ماه ، 1389]
 آشنایی با اشیا در ASP  [يكشنبه، 12 ارديبهشت ماه ، 1389]
 ASP چیست ؟  [چهارشنبه، 8 ارديبهشت ماه ، 1389]
 ویژگی های جدید در ASP.NET 4.0  [چهارشنبه، 1 ارديبهشت ماه ، 1389]


تبلیغات چپ
پکیج Windows Server 2008 MCITP Enterprise Administ
آخرین مقالات
· ۱۴ تغییراتی احتمالی که در iPhone 5 خواهید دید!
· روشهایی برای افزایش عمر باتری موبایل
· p1000 پرفروش ترین تبلت سامسونگ
· خالی کردن فضای هارد دیسک
· ۷ دلیل برای خرید مطمئن سامسونگ Galaxy Note
· معرفی لایف بوک ها ویژگی های مربوط به آنها
· معرفی ۱۰ فناوری برتر ماه گذشته در عرصه آی تی
· معرفی دلایلی برای خرید گوشی با قابلیت ویندوز فون
· SCX-4729FD چاپگر چندکاره سامسونگ
· تعریف سیستم عامل اندروید و مهمترین ویژگی های آن
· لپ تاپ های Samsung Series 7 Game 3D
· پرطرفدارترین موبایل های هوشمند تا بهار ۲۰۱۲
· Sony Unveila Xperia Sola و صفحه نمایش شناور
· کنترل دستگاه اندرویدی توسط دسکتاپ
· 10 تبلت برتر بهار سال 2012
· Optimus 3D Max دومین گوشی سه بعدی ال جی به عنوان محصولی بی همتا
· G6-1160EE لپ تاپ باقابلیت و پرمخاطب HP
· راه های افزایش امنیت در اینترنت
· آموزش مراحل پاک کردن آرشیو یاهو مسنجر
· مانیتورهایی مخصوص بازی های ویدئویی و گیمرها
· نکات مهم در مورد سرچ گوگل
· معرفی بهترین تبلت های بازار از نظر کیفیت نمایشگر
· معرفی رایانه ها و تبلت های سازگار با ویندوز ۸
· ویژگی های Galaxy note 10.1 شرکت سامسونگ
· مهمترین دلایل خرابی سریع لپ تاپ ها

[ موارد بیشتر در بخش اخبار و تازه ها ]
پربیننده ترین مقالات
· استاندارد های ISO/IEC 17799 و BS7799-2
· توصیه های مهم امنیتی در مورد لینوکس و یونیکس
· گرما در cpuها
· معماری client/Server در اینترنت
· آشنایی با سیستم فایل GNU/Linux
· یک MAC BOOK PRO جدید در بازار ایران
· معرفی دو مدل لپ تاپ با قابلیت سونی سری F
· F137HG/B، لپ تاپ سایز بزرگ سونی در بازار داخلی
· اندر احوالات کرک و کپی رایت
· EE31FX/BJ، لپ تاپ ارزان قیمت سونی در بازار داخلی
· معرفی z216 FX/L از لپ تاپ های سونی
· مدل MD313LL/A ، Macbook ارزان قیمت در بازار داخل
· تاریخچه کامپیوتر
· مشاهده آنلاین سوابق بیمه شدگان
· چگونگی اختصاص دادن یک آدرس IP استاتیک به یک رایانه در شبکه در ویندوز Xp ، Vista یا Seven
· آشنایی با روتر و سوئیچ(router and switch)
· الگوریتم های مرتب سازی آرایه ها
· تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
· GPS چیست؟
· به روز رسانی ویندوز 7 با نرم افزار Windows Update
· پایگاه داده های سیار Mobile database
· بازیابی رمز عبور در ویندوز 7
· معماری سرویس گرا Service Oriented Architecture چیست؟
· انتقال اطلاعات با Replication در SQL Server
· آموزش نرم افزار Virtual Box

[ موارد بیشتر در بخش اخبار و تازه ها ]
مقالات تصادفی
· فیبرنوری چیست؟
· هکرها تکنولوژی را سیاه می کنند
· تبلت Lenovo C200 با کارت گرافیکی انویدیا Ion 2
· طبقه بندی نرم افزار های آزاد و غیر آزاد
· راهکاری مناسب برای جلوگیری از ویروسی شدن فلش
· چطور باتری لپ تاپ خود را آزمایش کنیم و طول عمر آن را افزایش دهیم
· آپلود و اشتراک گذاری فایلهای حجیم
· 18 قابلیت ویندوز Seven (قسمت اول)
· با ايميلهای جعلی چه كنيم؟
· بررسی MacBook Pro 2011، يكی از برترين های Apple
· مختصری راجع به Laptop
· رشد 18 درصدي درآمدهاي صنعت IT هند
· همه چیز درباره تبدیل فایل های ویدیویی و چگونگی تبدیل لوح های فشرده DVD
· Gmail به عنوان یك درایو مجازی
· بازیافت پیشرفته اطلاعات پاک شده در کامپیوتر
· فناوری DLNA چیست؟
· هوش مصنوعی و تولید نرم افزار در ایران
· چگونه کامپیوتر خود را تمیز کنیم؟
· بیرون از مرورگر به جیمیل دسترسی داشته باشید
· كنترل های فایل های امنیتی سیستم
· Ajax : تحولی بزرگ در عرصه وب ( بخش دوم )
· ذخیره آسان صفحات وب در فایرفاکس
· اپل انتظار فروش 600 هزار ipad 2 را در 24 ساعت اول دارد!
· CES 2012: خرگوش های هوشمند سخنگو، فیلم و عکس می گیرند و فیس بوک و توییتر را بروز می کنند
· مراقبت های سخت افزاری در رابطه با طول عمر کامپیوتر

[ موارد بیشتر در بخش اخبار و تازه ها ]
امتیاز دهی به مطلب
امتیاز متوسط : 3
تعداد آراء: 2


لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

عالی
خیلی خوب
خوب
متوسط
بد

آموزش عکاسی ، آموزش رتوش