優秀的程式設計師能夠指導使用者如何使用他編寫的程式,而且在使用者使用不當時,能夠給出錯誤提示資訊,並引導使用者正確使用函式。
例子:先建立計算階乘n!=n*(n-1)(n-2)……21,然後給函式ex(n)輸入正確的引數和錯誤的引數。
function ex
(n) m =1;
ticfor k =
2: n
m = m * k;
endtoc
結果見下圖:
程式並沒有報錯。其實輸入的n的值已經不在k的取值範圍了。此時應該提示使用者輸入有錯。
程式新增如下語句:
function ex
(n) m =1;
ticif n <
0error
('input must be positive,stopped');
endfor k =
2: n
m = m * k;
endtoc
執行見下圖:
matlab程式設計時很多錯誤是由於越界造成的,尤其是使用矩陣時,要注意引用矩陣位置不要超過他的邊界。另外,如果使用者輸入的函式引數數目超過設定的最大個數,或者型別不合要求也會出現這種錯誤。
還有對於輸入引數數目小於設定個數的情形,程式設計師在編寫程式時也應當注意處理這種情況,採用nargin函式可以判斷輸入引數的個數,從而設定為被指定的輸入引數的值或者直接報錯。
例子:利用nargin函式,實現兩個多項式的相加,並具有一定的報錯功能。
function p =
ex(a,b)
if nargin ==
1 b =
zeros(4
,1) elseif nargin ==
0error
('empty input');
enda =a(
:).';b = b(:).'
; na =
length
(a);nb =
length
(b);
p =[zeros(1
,nb-na) a]+[
zeros(1
,na-nb) b]
;end
java之異常處理機制
class myexception extends exception myexception string msg,int id void method throws myexception public class testexception catch arithmeticexception ...
異常處理機制
異常處理的三個步驟 檢查異常,丟擲異常,處理異常 異常處理基本原理 把需要檢測的程式放到try塊中,把異常處理的程式放在catch塊中。如果執行乙個函式出現了異常,可以丟擲異常資訊。然後查詢try塊下面的catch塊是否可以處理該異常。如果該函式不處理該異常,將傳遞給它的上一級函式 呼叫函式 如果它...
異常處理機制
1 c 中異常處理機制使得異常的引發和異常的處理不必在同乙個函式中。2 異常是專門針對抽象程式設計中的一系列錯誤處理的,c 的函式機制是棧結構,先進後出,依次訪問,無法跳躍。3 異常超脫於函式機制,決定了其對函式的跨越式回跳。4 異常跨越函式 普通用法 基本用法 void add int a,int...