計算程序「存活」有必定的條件假定,當這些條件不被知足時,程序就會「掛起」——執行不下去而退出; 這種運行的基本條件對於高級語言程序則更具多樣性,由於它是邏輯複雜的,而不是物理的; 因此,理論上,「程序任何一處」的的執行都會因條件缺失而產生「異常」,致使程序退出;程序員
大至分類硬件級和軟件級異常 Exception handling can be performed at both the software (as part of the program itself) and hardware levels (using mechanisms built into the design of the CPU). 軟件級異常處理,是對硬件(CPU)異常處理的抽象封裝編程
錯誤是指致使系統不能按照用戶意圖工做的一切緣由、事件。 程序錯誤類型主要有語法錯誤、語義錯誤和邏輯錯誤,其中,語法錯誤和邏輯錯誤能經過編譯器發現,邏輯錯誤只能由編程人員經過比對結果和設計方案發現錯誤並處理。ui
邏輯錯誤是指程序的運行結果和程序員的設想有出入時產生的錯誤。這類錯誤並不直接致使程序在編譯期間和運行期間出現錯誤,可是程序未按預期方式執行,產生了不正確的運行結果,較難發現。設計
計算過種產生運行條件的缺失,例如除以0,IO文件不存在不可用等orm
編程環境提供的特殊的API,特殊的編程任務中間件
異常已經不容易理解,再加一個可本身拋出異常(throw)? 那是由於,在工程項目中,你經常需寫中間件,提供本身另外一個模塊,或他們使用。對原始的異常進行包裝(提供更豐富異常信息),或者自定義異常(運行條件定義),都是能夠理解的。事件