沒法預測錯誤拋出時mysql
一、調用第三方接口sql
二、業務複雜函數
業務複雜了的話,try-catch仍是有意義的。繼承
exception自己有繼承,不一樣異常類表明不一樣的場景;接口
另外exception至少能夠攜帶錯誤信息和錯誤碼,這比函數單一return返回值在異常狀況下的處理方便多了,特別是在調用層次比較深的狀況下;事務
異常自己是種機制,一出現整個腳本就會中止執行,若是在try中就會交由合適的catch處理,多層函數須要return走到最外層才能夠,exit太簡單粗暴,不能處理我不想退出腳本的狀況;it
固然,若是業務自己就那麼簡單,也就無需try-catch了。io
三、配合mysql的事務處理,作回滾操做exception