حسین اتحادی چهارشنبه 2 تیر 1395 02:49 ب.ظ نظرات ()

فرض کنید یک تعداد دستور داریم و می خواهیم در صورتی که در اجرای آنها، خطایی رخ داد، به جای توقف برنامه و نمایش پیام خطا، یک سری دستور دیگر اجرا شود. برای این منظور، می توانیم از دستورات try و catch در متلب استفاده کنیم. استفاده از این دو دستور، به این صورت می باشد که بعد از دستور try ، دستورات اولیه ای را می نویسیم که هدف اصلی ما، اجرای آنها می باشد. سپس دستور catch را نوشته و پس از آن، دستوراتی را می نویسیم که قصد داریم در صورت بروز خطا برای دستورات اولیه، این دستورات اجرا شوند (دستورات پس از catch ، در صورتی اجرا می شوند که در اجرای دستورات اولیه، خطایی پیش بیاید).

به مثال زیر توجه کنید :

به ادامه ی مطلب مراجعه کنید

ابتدا کد زیر را می نویسیم :


clear all
close all
clc

x=1;
try
    y=x*2
catch
    y=0
end

نتیجه :

چون در اجرای دستور پس از try ، خطایی پیش نمی آید، بنابراین مقدار y برابر 2 خواهد بود (دستور پس از catch ، اجرا نخواهد شد) :


y =

     2

اکنون دستور مربوط به تعریف x را عمدا از میان کدها بر می داریم :


clear all
close all
clc

try
    y=x*2
catch
    y=0
end

نتیجه :

در دستور پس از try ، چون متغیر x تعریف نشده، بنابراین در حالت معمولی، باید یک پیام خطا نمایش داده شود، اما چون از ترکیب try و catch استفاده کرده ایم، بنابراین هیچ پیامی نمایش داده نمی شود و دستور بعد از catch ، اجرا خواهد شد. بنابراین مقدار متغیر y برابر 0 خواهد بود :


y =

     0
منبع :کلیدستان