matlab中try ... catch的使用


matlab中try ... catch的使用

在設計matlab程序時,如果不能確保某段程序代碼是否會出錯,可以采用try...catch語句,其能夠捕獲和處理錯誤,使得可能出錯的代碼不影響后面代碼的繼續執行,也可以檢查,

排查,解決程序的一些錯誤,增強代碼的魯棒性和可靠性。

格式:

        try

             程序代碼1;

        catch

             程序代碼2;

        end

       程序首先運行try和catch之間的“程序代碼1”,如果沒有發生錯誤則不執行catch和end之間的“程序代碼2”,而是執行end后的程序;如果在執行“程序代碼1”時產生錯誤,則立即執行“程序代碼2”,然后繼續執行end后的程序。

例如:

 

1、try...end
try...end用於嘗試運行一段也許可能出錯的代碼,比如:
 
m = rand(3,4); 
n = magic(5);
try 
    a = m*n; 
    disp(a)
end 
disp(m)
這段代碼里面,a = m*n運行會出錯,不滿足矩陣乘法的原則。所以,a = m*n和disp(a)不執行,但后面的disp(m)亦然會執行;
2、try...catch...end
m = rand(3,4);
n = magic(5);
try
     a = m*n;
     disp(a)
catch err
     disp(size(m))
     disp(size(n))
end
disp(m)
 
這里面,當程序碰到 a = m*n;錯誤后,就會跳轉到catch里面的語句,繼續執行,有點類似於if...else...end;
err的加入使其能夠清晰的顯示調試運行所處的行
 
 

 

 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/wangrenbao123/article/details/55252242

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM