مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش سی شارپ قسمت 55 : دستور Try ... Catch


#C یک سری آیتمهای داخلی دارد که بوسیله آنها میتوانید خطاهای احتمالی در کدنویسی را ردیابی کنید. در این روش به #C میگوییم تا کدهای نوشته شده را امتحان یا Try کند و در صورتی که آزمایش کدها موفق نباشد خطای ایجاد شده را میگیریم یا Catch می کنیم. ساختار این دستور بصورت زیر است:

try
{

}
catch
{

}

در کد زیر میخواهیم یک فایل متنی را وارد یک  RichTextBox بنام  rtb کنیم:

try
{

rtb.LoadFile("C:\\test.txt");

}
گcatch (System.Exception excep)
{

MessageBox.Show(excep.Message);

}

به " \ " بعد از " C " توجه کنید:

C:\\test.txt

در #C بطور قراردادی باید از دو " \ " به همراه یکدیگر استفاده کنیم.

کدی که تصمیم داریم امتحان کنیم در بین براکتهای {   }  try می نویسیم. میدانیم که فایل متنی وجود ندارد اما میخواهیم خطای "File not Found" نمایش داده شود. کد مربوطه را در قسمت catch می نویسیم. به آنچه در بین پرانتزها (  )  بعد از catch مینویسیم توجه کنید:

System.Exception excep

Exception یک کلاس داخلی در #C است که خطاهای ایجاد شده در برنامه را پیدا می کند و به دنبال کلمه System (که namespace نام دارد) می آید.

بعد از Exception یک فاصله میگذاریم و یک متغیر دلخواه را وارد می کنیم. در اینجا نام این متغیر را except گذاشته ایم. میتوانیم نام آن را عبارت دلخواه دیگری بگذاریم.

کد زیر را در بین براکتهای { } cach می نویسیم:

MessageBox.Show(excep.Message);

از Messagebox برای نمایش پیغام خطا استفاده کرده ایم. بعد از متغیر excep یک نقطه " . " تایپ کنید. با این عمل لیست IntelliSense ظاهر می شود:

The IntelliSense list

اگر میخواهید پیغام داخلی سیستم نمایش داده شود message را از لیست انتخاب کنید. یک messagebox در هنگام اجرای برنامه خواهید دید.

Using the inbuilt System message

اگر نوع خطایی که نشان داده می شود میشناسید میتوانید از آن در کدنویسی استفاده کنید:

catch (System.IO.FileNotFoundException)
{

MessageBox.Show("File not found");

}

برای پیدا کردن نوع خطایی که ایجاد میشود از کد زیر استفاده کنید:

catch (System.Exception excep)
{

 

MessageBox.Show( excep.GetType().ToString() );

}

messegebox به شما خواهد گفت که سیستم چه نوع خطایی را ایجاد خواهد کرد. میتوانید آن را در بین پرانتز های ( ) catch استفاده کنید.

اگر میخواهید رون کار به سادگی پیش رود میتوانید از پرانتزهای بعد از catch صرف نظر کنید.

در کد زیر تنهای خطای مورد نظر خودمان را ایجاد می کنیم:

try
{

rtb.LoadFile("C:\\test.txt");

}
catch
{

MessageBox.Show("An error occurred");

}

در صورت تمایل میتوانید از بخشهای catch بیشتری اضافه کنید.

try
{

rtb.LoadFile("C:\\test.txt");

}
catch
{

MessageBox.Show("An error occurred");

}
catch
{

MessageBox.Show("Couldn't find the file");

}
catch
{

MessageBox.Show("Or maybe it was something else!");

}

نتیجه کار بستگی به خطاهایی دارد که احتمال میدهید در برنامه ایجاد شود. اگر فایلها پیدا شوند اما نتوانند در RichTextBox لود شوند چه اتفاقی خواهد افتاد؟

در هر حالت دو بخش catch لازم داریم. برای هر احتمال یک عدد.

در انتها یک بخش دیگر به کد اضافه می کنیم:

try
{

rtb.LoadFile("C:\\test.txt");

}
catch (System.Exception excep)
{

MessageBox.Show(excep.Message);

}
finally {

//CLEAN UP CODE HERE

}

 بخش آخر را برای کامل کردن برنامه اضافه می کنیم. مثلازمانی که فایلی را که نیاز به بستن دارد باز کرده اید. بخش انتهایی هنگامی که تنها یک catch وجود داشته باشد اجرا خواهد شد.

در بخش catch بخش دیگری نیز میتوان اضافه نمود که throw نام دارد. از این بخش زمانی استفاده می کنیم که میخواهیم عملیات بیشتری با خطایی که در برنامه ایجاد میشود انجام دهیم. مثلا میخواهیم خطا را به #C برگردانیم یا بدون استفاده از try … catch خطا را پیدا کنیم. زیاد در این مورد ناراحت نباشید.

روش Try … Catch نیاز به توضیحات زیادی دارد لذا ما در طول این دوره دیگر از این روش استفاده نخواهیم کرد با این وجود باید تا جایی که میتوانید آن را بکار برید بخصوص هر زمان احساس کردید که در برنامه امکان بروز خطاهای خاصی وجود دارد باید از این روش استفاده کنید.

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید