سافت گذر دانشنامه نرم افزار - دانلود رایگان نرم افزار

اطلاعیه های مهم سایت اطلاعیه های مهم سایت
💐 میلاد زینت پدر حضرت زینب سلام الله علیها مبارک باد 💐
 
 
  1. جهت رفع مشکل باز شدن سایت به دلیل بلاک توسط  نود 32 این ویدیو یا این ویدیو(ورژن 9 به بالا) یا راهنمای تصویری را مشاهده کنید
  2. به مناسبت عید غدیر، در سایت https://esetupdate.ir/ تخفیف ویژه‌ای برای محصولات در نظر گرفته شده است؛ فرصت را از دست ندهید. 🌸
  3. اکانت های بروزرسانی نود32 با قیمت های مناسب به صورت یک ، سه ، شش و دوازده ماهه از اینجا قابل خرید می باشد.

نرم افزار های پرکاربرد

ثبت نام | ورود

اخبار فناوری

مدیریت استثناها در برنامه‌نویسی

استثناء‌ها (Exceptions) هنگامی رخ‌ می‌دهند که یکی از اعضای برنامه، قادر به اجرای وظیفه‌ای که برایش برنامه‌ریزی شده نباشد. این وضعیت به خطای استثناء معروف است. در این مقاله به صورت ابتدایی با استثناء‌ها و نحوه مدیریت آن‌ها در برنامه آشنا خواهیم شد.

 آشنایی با استثناء‌ها به ما اطمینان می‌دهد که خطاهای مرتبط را در هنگام وقوع شناسایی و مدیریت کنیم.

توضیح:
۱- کدهای درج شده در این مقاله به زبان #C هستند.
۲- این مقاله نیازمند آشنایی با مباحث برنامه‌نویسی است.
۳- با وجود اینکه کدها برای یک ویندوز‌اپلکیشین فرضی نگارش شده‌اند اما می‌توان همین کدها را برای وب‌اپلیکیشن‌ها نیز به کار گرفت.
۴- استثناء و مدیریت آن، مبحثی مفصل و بسیار کاربردی بوده و درک آن نیازمند چندین مقاله اختصاصی است. با این حال پس مطالعه این مقاله کوتاه می‌توان به صورت ابتدایی به مدیریت استثناءها پرداخت.

در یک سناریوی فرضی، فرمی ساده حاوی یک لیبل (Label) برای نمایش پیام خطا، یک فیلد متنی (TextBox) و یک کلید (Botton) را در نظر بگیرید. این فرم قرار است سن کاربر گرفته و بررسی نماید. اگر سن کاربر کمتر از ۲۰ باشد به او اجازه ثبت‌نام داده می‌شود در غیر این صورت این امکان وجود نخواهد داشت.

از کاربر درخواست می‌شود سن خود را در فیلد وارد نموده و در ادامه روی کلید، کلیک کند. در رخداد کلیک مربوط به کلید، مقدار وارد شده در تکست‌باکس را در یک متغیر ریخته و با عدد ۲۰ مقایسه می‌کنیم.

از آنجا که مقدار ورودی در تکست‌باکس از نوع رشته (String) است. متغییری از نوع رشته تعریف کرده و مقدار ورودی را در آن می‌ریزم. سپس با تبدیل آن به متغیری از نوع عدد صحیح (int)، آن را با عدد ۲۰ مقایسه می‌کنیم.

در حالت عمومی این سناریو بدون مشکل بوده و برنامه به راحتی اجرا می‌شود. اما اگر ورودی کاربر چیزی به غیر عدد باشد در مرحله تبدیل ورودی به عدد، خطایی رخ می‌دهد که برای نرم‌افزار قابل‌ پیش‌بینی نبوده است.

رفتار پیش‌فرض در این حالت، بسته‌شدن (Terminate) نرم‌افزار است. در این مرحله پای استثناء‌ به مسأله باز می‌شود. یعنی زمانی که در جریان اجرای یک برنامه، خطا یا اتفاقات غیرمنتظره‌ای مثل تبدیل یک مقدار غیرمجاز به عدد رخ دهد.

استثناء یک مکانیزم استاندارد برای گزارش وقوع خطاهای زمان اجرا (JIT) در برنامه است. بر همین اساس استفاده از استثناها به ما امکان می‌دهد که خطاهای رخ داده توسط اعضایی مانند متدهای سازنده را که نوع خاصی را بر‌نمی‌گردانند نیز مدیریت کنیم.

برای مدیریت استثناء‌ها از بلاک‌کدهای try-catch استفاده می‌شود.

بدین صورت که کدهایی که ممکن است حاوی خطاهای پیش‌بینی نشده باشد را در بلاک try قرار داده و رفتار اپلکیشین در صورت وقوع خطا را در بلاک catch قرار می‌دهیم.

برای مثال اگر قرار باشد با استفاده از بلاک‌کدهای try-catch مانع از وقوع خطای ذکر شده در سناریوی بالا شویم به صورت زیر عمل می‌کنیم:

//.کدها در رخداد کلیک، کلید قرار می‌گیرند
bool DataControl = false;
string UserInput = string.empty;
int UserAge = 0;

UserInput = txtUserInput.text;

try {
//.کدهایی که مستعد وقوع خطاهای استثناء هستند در این بلاک قرار می‌گیرند

UserAge = int.parse(UserInput);
DataControl = true;
}
catch {
//.رفتار اپلیکیشن هنگام وقوع خطا در این بلاک قرار می‌گیرد

lblError.text = “.ورودی نامعتبر است. ورودی باید عدد باشد”;
DataControl = false;
}
finally {
if (DataControl) {
if (UserAge < 20) {
// .اگر سن کاربر کمتر از ۲۰ باشد این قطعه اجرا می‌شود
}

else
{
// .اگر سن کاربر بیشتر از از ۲۰ باشد این قطعه اجرا می‌شود
}
}
}

در این قطعه کد، پس از کلیک بر روی کلید، مقدار تکست‌باکس (txtUserInput) در متغیری با نام UserInput ریخته می‌شود. سپس مقدار متغیر UserInput به کمک تابع parse به عدد صحیح تبدیل شده و در متغییری با نام UserAge قرار می‌گیرد.

اگر ورودی معتبر باشد، متغیر منطقی DataControl برابر true شده و کدهای بلاک finaly اجرا می‌شوند. اما اگر ورودی نامعتبر باشد، در هنگام تبدیل ورودی به عدد صحیح، خطایی رخ داده و با توجه به پیش‌بینی، نرم‌افزار کد‌های بلاک catch را اجرا می‌کند. یعنی یک پیام خطا به کاربر نمایش داده و مقدار DataControl را برابر با false کرده و در ادامه بازهم کدهای بلاک finally اجرا می‌شوند.

توجه داشته باشید که کدهای بلاک finally در هر حالتی اجرا خواهند شد. در بلاک finally، با توجه به مقدار DataControl و مقدار UserAge کدها اجرا خواهند شد.

به کمک همین قطعه کد، خطاهای احتمالی ناشی از ورود داده غیرمعتبر به صورت ابتدایی مدیریت شده و پیام خطای مناسب نیز به کاربر نمایش داده می‌شود.

مدیریت استثناء

هنگام استفاده از این بلاک‌کدهای مدیریت استثناء بهتر است چند نکته را مد‌نظر قرار دهید:

۱-  جزئیات کد و متن خطا را به صورت خروجی برنگردانید.
۲- اگر بخشی از برنامه قادر نیست وظیفه خود را انجام دهد از استثناء فقط برای گزارش وقوع خطا استفاده کنید.
۳- اگر اجرای نرم‌افزار با ورودی غیرمعتبر سطح امنیتی اپلیکیشن را کاهش می‌دهد بهتر است به جای فراخوانی استثناء اجرای نرم‌افزار را متوقف کنید.
۴- پیام خطا را صریح و واضح درج نمایید تا برای کاربر مشخص شود علت وقوع خطا چه چیزی بوده است.
۵- ترجیحاً از علامت سؤال (؟) یا علامت تعجب (!) در نمایش پیام استفاده نکنید.

نظرتان را ثبت کنید کد خبر: 33184 گروه خبری: اخبار فناوری منبع خبر: زومیت تاریخ خبر: 1395/05/16 تعداد مشاهده: 2479
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
XMPlay 4.1

XMPlay 4.1

پلیر صوتی

Helldivers

Helldivers

غواصان جهنم

پیام رسان گپ 12.6.1 برای اندروید

پیام رسان گپ 12.6.1 برای اندروید

گپ

سلوک خانوادگی در سبک زندگی فاطمی از حجت الاسلام والمسلمین حیدری کاشانی

سلوک خانوادگی در سبک زندگی فاطمی از حجت الاسلام والمسلمین حیدری کاشانی

حیدری کاشانی با موضوع سلوک خانوادگی در سبک زندگی فاطمی

Kunitsu-Gami: Path of the Goddess

Kunitsu-Gami: Path of the Goddess

اکشن و ماجراجویی برای کامپیوتر

JetBrains AppCode macOS 2023.1.5 / 2021.3.3

JetBrains AppCode macOS 2023.1.5 / 2021.3.3

جت برینز اپ کد

SanDisk SecureAccess 3.0.2 Win/ 3.0 Mac

SanDisk SecureAccess 3.0.2 Win/ 3.0 Mac

رمزنگاری فلش مموری سان دیسک

Now Browser Pro 2.9.9.2 for Android +2.2

Now Browser Pro 2.9.9.2 for Android +2.2

مرورگر جدید و کم حجم اندروید

تقویت پوست صورت

تقویت پوست صورت

ساخت و فروش انواع ماسک صورت

سخنرانی شهید مطهری آیت الله جوادی آملی و پناهیان به مناسبت ولادت پیامبر و امام صادق

سخنرانی شهید مطهری آیت الله جوادی آملی و پناهیان به مناسبت ولادت پیامبر و امام صادق

سخنرانی ولادت حضرت رسول و امام جعفر صادق

فهرست اماکن تاریخی براساس سازمان ملی حفاظت آثار باستانی

فهرست اماکن تاریخی براساس سازمان ملی حفاظت آثار باستانی

فهرست آثار ملی

توصیه های امام دوازدهم

توصیه های امام دوازدهم

فرمایشات امام مهدی علیه السلام

مداحی اربعین حاج مهدی اکبری سال 97

مداحی اربعین حاج مهدی اکبری سال 97

مداحی اربعین 97 مهدی اکبری

Waterfox 6.7.1.1 Win/Mac/Linux + Portable

Waterfox 6.7.1.1 Win/Mac/Linux + Portable

واترفاکس

Deadly Dozen Reloaded

Deadly Dozen Reloaded

12 کماندو

Neon Snake 1.0 for Android

Neon Snake 1.0 for Android

بازی مار

MediaMonkey Gold 2024.2.0.3184 + Portable

MediaMonkey Gold 2024.2.0.3184 + Portable

مدیامانکی

تلاوت مجلسی استاد حامد شاکر نژاد سوره مبارکه نصر

تلاوت مجلسی استاد حامد شاکر نژاد سوره مبارکه نصر

تلاوت حامد شاکر نژاد سوره نصر

Wise Program Uninstaller 3.2.7.271

Wise Program Uninstaller 3.2.7.271

حذف کامل نرم افزار ها وایز پروگرام آنیستالر

Ramadan 1.5 for Android

Ramadan 1.5 for Android

نرم افزار رمضان با اوقات شرعی و پخش اذان

Windows Server 2003 R2 Enterprise SP2 Vol x86

Windows Server 2003 R2 Enterprise SP2 Vol x86

ویندوز سرور 2003 ویرایش R2 یکپارچه شده با SP2 بدون نیاز به فعال سازی (نسخه 32 بیتی)

المراجعات تالیف سید عبد الحسین شرف الدین

المراجعات تالیف سید عبد الحسین شرف الدین

مناظره شیعه و سنی

سخنرانی حجت الاسلام فرحزاد با موضوع فال نیک زدن

سخنرانی حجت الاسلام فرحزاد با موضوع فال نیک زدن

سخنرانی فال نیک زدن با حاج آقا فرحزاد

9 جلسه پیامبر رحمت از حجت الاسلام والمسلمین انصاریان

9 جلسه پیامبر رحمت از حجت الاسلام والمسلمین انصاریان

حاج آقا انصاریان با موضوع پیامبر رحمت

10 جلسه اعتقادات و باورهای دینی و نوع نگاه انسان به زندگی از حجت الاسلام والمسلمین مسعود عالی

10 جلسه اعتقادات و باورهای دینی و نوع نگاه انسان به زندگی از حجت الاسلام والمسلمین مسعود عالی

حاج آقا مسعود عالی با موضوع اعتقادات و باورهای دینی و نوع نگاه انسان به زندگی

AVG Cleaner 25.21.0 for Android +8.0

AVG Cleaner 25.21.0 for Android +8.0

پاکسازی ای وی جی

مدیریت ایمیل

مدیریت ایمیل

آموزش ساختن ایمیل

Motorsport Manager - GT Series

Motorsport Manager - GT Series

شبیه ساز اتومبیلرانی

Advanced Uninstaller PRO 13.28.0.69

Advanced Uninstaller PRO 13.28.0.69

حذف برنامه های ویندوز ادونس آنیستالر

Nine Launcher PRO 1.3.1 for Android +4.0

Nine Launcher PRO 1.3.1 for Android +4.0

لانچر زیبا اندروید

آموزش تصویری نرم افزار Allok Video Converter

آموزش تصویری نرم افزار Allok Video Converter

آموزش الوک ویدیو کانورتر

تاریخ محمدی: احسن التواریخ

تاریخ محمدی: احسن التواریخ

اصل و نسب خاندان قاجار

کتاب مشاوره و آزمایش اچ آی وی، کتاب مرجع پزشکان

کتاب مشاوره و آزمایش اچ آی وی، کتاب مرجع پزشکان

اﻓﺰاﯾﺶ داﻧﺶ ﭘﯿﺸﮕﯿﺮی از HIV

دلیل شادی یا ناراحتی، موفقیت یا عدم موفقیت

دلیل شادی یا ناراحتی، موفقیت یا عدم موفقیت

راه های کسب موفقیت در زندگی

Microsoft Visual Studio Team Foundation Server 2010 x86/x64

Microsoft Visual Studio Team Foundation Server 2010 x86/x64

ویرایش خاص نرم افزار Visual Studio‌ برای انجام گروهی پروژه های برنامه نویسی

PESEdit 2014 Patch 4.4 + Data Pack 6.10

PESEdit 2014 Patch 4.4 + Data Pack 6.10

پچ فوتبال حرفه ای 2014

فیلم مستند مثلث برمودا

فیلم مستند مثلث برمودا

مستند مثلث برمودا

سخنرانی استاد سید محسن میرباقری با موضوع بررسی مناجات ها و لزوم حفاظت از دستاوردهای معنوی

سخنرانی استاد سید محسن میرباقری با موضوع بررسی مناجات ها و لزوم حفاظت از دستاوردهای معنوی

سخنرانی بررسی مناجات ها و ادعیه منقول از ائمه با استاد میرباقری

8 جلسه عزت و حُرّیت در سیره امام حسین (علیه السلام) از حجت الاسلام والمسلمین رفیعی

8 جلسه عزت و حُرّیت در سیره امام حسین (علیه السلام) از حجت الاسلام والمسلمین رفیعی

حاج آقا رفیعی با موضوع عزت و حُرّیت در سیره ی امام حسین (ع)

CHUCHEL

CHUCHEL

اکشن ماجرایی

خبرنامه

با عضویت در خبرنامه، زودتر از همه باخبر باش!