寫代碼時,錯誤處理是必須的,可是方法各類各樣,也各有優缺點php
c語言中固然就是返回碼了,額外有系統級的錯誤碼errno
錯誤碼有個麻煩的地方,就是須要寫大量的if判斷。
GO語言中能夠一次返回多個錯誤碼框架
正常代碼和錯誤處理分開,很乾淨,我的很是喜歡拋異常的方式。 ThinkPHP 項目中通常我會定義一個自定義的異常類ResException.phpthis
use think\Exception; class ResException extends Exception { private $response; public function __construct($code, $message='') { parent::__construct($message, $code); $this->response = new Response($code,$message); } public function getResponse() { return $this->response; } }
用框架全局的異常捕獲類ExceptionHandle統一捕獲ResException,這樣在我們的控制層,邏輯層均可以方便的拋出。code
注意:拋異常應該表示程序發成錯誤,是少數發生的。get