天天看點

matlab中的try...catch...end

我們知道,matlab的代碼是按行執行的,如果碰到錯誤行,則程式中斷。try..catch可以使得可能出錯代碼不影響後面代碼的繼續執行,也可以檢查,排查,解決程式的一些錯誤,增強代碼的魯棒性和可靠性。

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);

try

     a = m*n;      %當程式碰到 a = m*n;錯誤後,就會跳轉到catch裡面的語句,繼續執行,有點類似于if...else...end

     disp(a)

catch

     disp(size(m))

     disp(size(n))

end

2、try...catch...end用于檢查錯誤

     a = m*n;

catch err

繼續閱讀