اجرای دستوراتی دیگر، در صورت بروز خطا در دستورات فعلی، با دستورات try و catch در متلب
فرض کنید یک تعداد دستور داریم و می خواهیم در صورتی که در اجرای آنها، خطایی رخ داد، به جای توقف برنامه و نمایش پیام خطا، یک سری دستور دیگر اجرا شود. برای این منظور، می توانیم از دستورات try و catch در متلب استفاده کنیم. استفاده از این دو دستور، به این صورت می باشد که بعد از دستور try ، دستورات اولیه ای را می نویسیم که هدف اصلی ما، اجرای آنها می باشد. سپس دستور catch را نوشته و پس از آن، دستوراتی را می نویسیم که قصد داریم در صورت بروز خطا برای دستورات اولیه، این دستورات اجرا شوند (دستورات پس از catch ، در صورتی اجرا می شوند که در اجرای دستورات اولیه، خطایی پیش بیاید).
به مثال زیر توجه کنید :
ابتدا کد زیر را می نویسیم :
close all
clc
x=1;
try
y=x*2
catch
y=0
end
نتیجه :
چون در اجرای دستور پس از try ، خطایی پیش نمی آید، بنابراین مقدار y برابر 2 خواهد بود (دستور پس از catch ، اجرا نخواهد شد) :
2
اکنون دستور مربوط به تعریف x را عمدا از میان کدها بر می داریم :
close all
clc
try
y=x*2
catch
y=0
end
نتیجه :
در دستور پس از try ، چون متغیر x تعریف نشده، بنابراین در حالت معمولی، باید یک پیام خطا نمایش داده شود، اما چون از ترکیب try و catch استفاده کرده ایم، بنابراین هیچ پیامی نمایش داده نمی شود و دستور بعد از catch ، اجرا خواهد شد. بنابراین مقدار متغیر y برابر 0 خواهد بود :
0