錯誤處理

寫代碼時,錯誤處理是必須的,可是方法各類各樣,也各有優缺點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

參考

錯誤返回碼和異常 - 陳皓it

相關文章
相關標籤/搜索