try/catch,僅特定異常可能處使用 (如檔案操作捕獲 FileIOException)。try/catch 區塊,每任務單獨區塊,利於定位與特定錯誤訊息。Exception。
void ReadFromFile(string fileName)
{
try { /* read file */ }
catch (FileIOException ex)
{
// log error
throw; // 視情況重拋
}
}
void ReadFromFile(string fileName)
{
try { /* read file */ }
catch (Exception ex)
{
// 隱藏異常,永不知是檔案錯誤還是其他錯誤
return "";
}
}
不必在所有方法捕獲通用異常,讓程式崩潰以在開發期發現多數錯誤。避免用回傳值作錯誤碼,改用異常處理錯誤。