2017-06-14 90 views
0

方面我是新來OOP,我總是看到error is thrown..runtime exception is thrown..究竟是「拋出」意味着OOP

從我的理解,如果某些條件爲真不執行throw後什麼。

但什麼是像這樣的句子意味着

an error is thrown when the program executes

+0

你有代碼和平來展示一個例子嗎?你在談論豁免嗎? –

回答

0

當一個方法中出現錯誤,該方法將創建一個對象並把它關到運行系統。該對象稱爲異常對象,包含有關錯誤的信息,包括錯誤發生時的類型和程序的狀態。創建一個異常對象並將其交給運行時系統稱爲拋出異常。

拋出異常後,可以由適當的處理程序處理。如果拋出的異常對象的類型與處理程序可以處理的類型相匹配,則認爲異常處理程序是合適的。

所以術語拋出意味着,系統剛剛完成拋出異常的過程,現在它可以由我們所執行的任何處理程序來處理。

0

馬特Weisfeld - 先進的面向對象的概念 http://www.informit.com/articles/article.aspx?p=2026020&seqNum=2

如果異常try塊中拋出,catch塊將會處理它。當執行塊時拋出異常時,會發生以下情況:

  1. try塊的執行被終止。
  2. 檢查catch子句爲 以確定是否包含 違規異常的適當catch塊。 (可能有多個 catch語句每個try語句塊。)
  3. 如果沒有任何catch子句處理 違規異常,則將其傳遞給下一個更高級別的try 塊。 (如果未在代碼中捕獲異常,則系統最終會捕獲該異常,並且結果是不可預知的 - 即 應用程序崩潰。)
  4. 如果catch子句匹配(遇到第一個匹配 ), catch子句中的語句被執行。
  5. 然後使用try塊後面的語句繼續執行。
相關問題