Follow @Mostafafallah

Try Catch Finally چه هستند ؟

نوشته شده در قسمت : شخصی, کامپیوتر توسط : خودم

در برنامه نویسی اغلب خطاهایی اتفاق می افته که احتمال پدید اومدنش بسیار کمه  ! منظورم اینه که شما دقیقا چک کردین که خطایی اتفاق نیفته ! اما یک قانون مذخرف ننوشته وجود داره که میگه ۳۰% خطاها رو برنامه نویس هرگز نخواهد دید !! لذا شما مجبور میشین که در جلوی مشتری خطایی رو ببینید که بسیار وحشتناک هست !! اگر مشتری شما ساده باشه و اطلاعاتش کم که طبیعیش می کنین اما اگر از بد روزگار برنامه نویس باشه ( یا بفهمه خطا چیه) دیگه یاورتون به تعبیری استاد میشه !!

این مساله از سالها پیش وجود داشته و در همه زبانهای برنامه نویسی برای اون راه حلی کلی در نظر گرفته شده که به اون میگن دستگرفتن خطا (Exception Handler).

در دات نت با استفاده از بلاکهای TRY Catch Finaly میتونین جلوی این مساله رو بگیرین ! کد اصلی رو در قسمت TRY میزارین. در صورتی که خطایی اتفاق نیفته مسیر طبیعی ادامه پیدا میکنه و در صورتی که خطایی اتفاق بیفته ، به بخش catch میره !!

اما مساله به این سادگیا نیست !! مثال میزنم. مثلا شما در قسمت TRY اتصال به دیتابیس دارین ، و در انتهای این بلاک کارتون تموم میشه و اتصال رو میبندین ! خوب این حالت عادیه ! اما اگر خطایی اتفاق بیفته ، شما به  catch میرین و کار تموم میشه ، و شی شما همچنان باز هست !! البته میشه پیش بینی کرد و کد بستن اتصال رو بنویسین ! اما راه ساده تری وجود داره و اون بلاک Finally هست که به شما این امکان رو میده که در صورتی که به try یا catch رفتید در نهایت به finally هم برین !! خوب شی رو اونجا ببندین !!

البته این ساده ترین مثال ممکن بود که گفتم.


یک نظر

  1. مسعود گفته است :

    مرسی

    فروردین ۱م, ۱۳۸۹ در ۱:۰۳ ب.ظ

دیدگاهتان را بنویسید :