2013-04-29 60 views

回答

1

我相信這個問題的正確答案是「是」 - 它允許你發回一個消息給調用者說:「我遇到了一個錯誤/異常情況;你現在可以做一些事情」 。

+0

我不認爲它發生在每種語言。如果有一個沒有拋出的異常呢? – 2013-04-29 16:38:00

+0

如果不拋出異常,它必須在某處處理。 – RacerNerd 2013-04-29 16:43:57

+0

我認爲應該由調用例程來決定應該怎麼做,因爲被調用的例程應該可以在不同場景下重用。 – 2013-04-29 16:44:08

1

異常處理是關於處理異常的。

,如果你希望你的程序崩潰優雅這是有用的,或者如果你的程序做了很多的東西,你不希望它停頓下來,因爲一個非關鍵操作失敗。

通常你想登錄或以某種方式顯示你的例外,所以你至少有一個堆棧跟蹤當你的程序失敗。

+0

我對異常處理的看法是這樣的。我們必須將控制轉移到呼叫程序/例程,而不是讓被調用程序/例程自行處理。 – 2013-04-29 16:55:48

1

異常處理是一個通用術語,這是非常自我解釋。它描述了用於處理操作期間可能發生的異常情況AKA「異常」的任何代碼。

至於你將控制權或拋消息疑問,完全取決於語言。並非所有的語言都允許拋出異常,因此部分只取決於您正在使用的技術。

0

異常處理是有關捕獲產生的異常的錯誤,並適當地進行反應。

拋出異常是一種技術,它允許有關處理它返回給調用函數的異常和責任雙方的信息。這是說,在功能中發生了一些無法恢復的功能,同時仍然完成功能的預期操作。

通過拋出異常可以在函數內處理異常,所以也可以組合它們。

+0

但是,「錯誤」和「例外」之間必須有區別嗎? – 2013-04-29 16:38:09

+0

人們的確應該小心謹慎。我已經修改了我的答案,使其明顯適用於例外。謝謝。 – RacerNerd 2013-04-29 16:42:44