異常(exception)是指在運行的時刻程序出現反情況。比如:數組下標越界。打開文件夾失敗,動態創建內存失敗等。程序員一般有自己的異常處理方式。這導致個各種編碼方式,。所以很難整合到一個程序中。
異常處理(exception handing ), 為“響應運行時刻的程序“提供了一個標準語言級的設施。它支持統一的語法和風格,也允許每個程序員進行微調。異常處理 不需要我們在程序中處處顯示的測試異常狀態。從而可以將測試代碼顯示的抽取出來,放在指定的 標記的代碼塊中。因此 異常處理設施大大的 簡化了程序的長度和復雜度。
異常處理機制主要構成如下:
1: 程序中異常出現的點。一旦識別出程序的異常,就會拋出異常(throw)。當異常被拋出的時候,程序就會被掛起,知道異常被處理完畢了。c++中,異常的處理有throw表達式來執行。
2:程序中異常被處理的點. 典型的程序的異常拋出和處理位于獨立的 函數或者成員函數中。找到異常處理代碼一般要展開程序調用棧(progam call stack ).一旦異常被處理完畢,及恢復程序的正常執行。但是不是在出現 異常的地方恢復,而是在處理異常的地方恢復執行過程。在c++中異常的處理用catch表達式來執行。
catch和try字句相關聯。一個try塊用一個或者多個catch子句將一條或者多條語句組織起來。
系統根據被拋出的異常和catch子句的異常類型的匹配的情況來選擇catch子句。
系統把控制傳遞給catch子句體,其中的語句將順序執行。完成后后,除非子句體中還拋出異常,否則的話,控制將會被傳到程序的當前點上。
異常處理(exception handing ), 為“響應運行時刻的程序“提供了一個標準語言級的設施。它支持統一的語法和風格,也允許每個程序員進行微調。異常處理 不需要我們在程序中處處顯示的測試異常狀態。從而可以將測試代碼顯示的抽取出來,放在指定的 標記的代碼塊中。因此 異常處理設施大大的 簡化了程序的長度和復雜度。
異常處理機制主要構成如下:
1: 程序中異常出現的點。一旦識別出程序的異常,就會拋出異常(throw)。當異常被拋出的時候,程序就會被掛起,知道異常被處理完畢了。c++中,異常的處理有throw表達式來執行。
2:程序中異常被處理的點. 典型的程序的異常拋出和處理位于獨立的 函數或者成員函數中。找到異常處理代碼一般要展開程序調用棧(progam call stack ).一旦異常被處理完畢,及恢復程序的正常執行。但是不是在出現 異常的地方恢復,而是在處理異常的地方恢復執行過程。在c++中異常的處理用catch表達式來執行。
catch和try字句相關聯。一個try塊用一個或者多個catch子句將一條或者多條語句組織起來。
系統根據被拋出的異常和catch子句的異常類型的匹配的情況來選擇catch子句。
系統把控制傳遞給catch子句體,其中的語句將順序執行。完成后后,除非子句體中還拋出異常,否則的話,控制將會被傳到程序的當前點上。