這裏的主要例子是複製一個word文檔。我在我的程序中有這些代碼行:我可以/應該使用例外來錯誤檢查我的程序嗎?
try
{
File.Copy(docTemplatePath, docOutputPath, true);
}
catch (IOException e)
{
MessageBox.Show(e.ToString());
}
現在我試圖建立錯誤檢查。我想確保輸出的Word文檔在我嘗試保存之前不在其他地方打開,因爲否則會引發異常。
我看到它的方式是拋出異常來警告我導致代碼的默認功能無法按預期工作的錯誤。從這個意義上講,我會很自然地發現一個異常,閱讀它來辨別問題(在這種情況下,文檔目前是鎖定/在別處打開),因此顯示MessageBox
以提醒用戶他們正在嘗試的文檔寫入其他地方打開的文件。
這樣可以嗎?我看過很多地方,看看這是什麼異常設計要做的事情,而其他地方人們似乎認爲使用異常做這樣的事情對於所有編程傳統都是可怕的,寧願自己檢查一下。
什麼是總體共識?
感謝
這是一個判斷一個特殊情況是否發生的問題嗎? –
這是一個判斷問題,你是否認爲潛在的發生會是「特殊」。例如:用戶輸入0除以:可預見而不是例外。互聯網連接突然失敗:例外。 –
我明白了,非常感謝。 :) –