C 各種異常處理方式

2022-01-19 01:02:24 字數 3107 閱讀 1976

.net的異常處理機制用來發現、處理執行時錯誤。如果開發人員沒有提供異常的處理機制,就預設採用.net的機制。

通常使用try...catch...finally捕獲異常。

try
catch(exception ex)
finally
○ 如果沒有異常發生,就直接到finally語句塊中。

○ finally語句塊是必須執行的

○ 這裡的catch和finally語句塊是可選的。try語句塊後面可以跟1個或多個catch語句塊,try語句塊後面可以直接跟finally語句塊。

○ exception是所有異常的基類

□ 使用.net預設異常處理機制捕獲異常

□ 使用try...catch手動捕獲異常

class program
catch (dividebyzeroexception exception)
console.writeline(result);
console.readkey();
}
}
□ 使用try...catch...finally手動捕獲異常

可見,finally語句塊中的內容一定會被執行。

□ 使用try...多個catch...finally手動捕獲異常

可見,只要有乙個catch語句塊捕獲到異常,其它catch語句塊不執行。

□ 使用try...catch(不帶括號,不帶引數)手動捕獲異常

class program
catch
console.writeline(result);
console.readkey();
}
}
通過以上方法,可以捕獲任何異常。

□ try...catch手動捕獲丟擲的異常

class program
catch (dividebyzeroexception e)
console.writeline("最後想說的");
console.readkey();
}
}

丟擲異常本身並沒有顯示。

□ 較高層次上下文捕獲較低丟擲的異常

class program
catch (exception e)
console.writeline("最後想說的");
console.readkey();
}
}
public

class calculate

catch (dividebyzeroexception e)
}
}
在calculate內部丟擲的異常,被更高層次的客戶端捕獲。

□ 自定義異常

class program
catch (exception e)
console.writeline("最後想說的");
console.readkey();
}
}
public

總結:

○ .net異常處理並不是標準的try...catch...finally,可以是很靈活的。

○ 盡量在較低層次拋異常,在較高層次捕獲異常。

Java異常處理方式

平時在開發的時候避免不了的出一些大大小小的不同型別的錯誤,這時候,對於這些異常怎麼處理呢,顯得至關重要了。採用try.catch.方式 trycatch exception e catch filenotfoundexception e catch ioexception e 採用throw丟擲 i...

C 七 常見異常處理方式

try 乙個 try 塊標識了乙個將被啟用的特定的異常的 塊。後跟乙個或多個 catch catch 程式通過異常處理程式捕獲異常。catch 關鍵字表示異常的捕獲 finally finally 塊用於執行給定的語句,不管異常是否被丟擲都會執行。例如,如果您開啟乙個檔案,不管是否出現異常檔案都要被...

Python日期各種處理方式

import datetime today datetime.date today 獲得今天,只有日期 today datetime datetime.datetiem today 獲得今天,是個datetime物件,可以做各種操作。把datetime轉成字串 defdatetime tostrin...