[TOC] ## PHP错误级别以及日志 > PHP中错误报告的处理行为,通过php.ini中配置error_reporting进行实现。 ### PHP的错误报告级别 > **E_ERROR**:致命的运行时错误 > **E_WARNING**:警告信息 > **E_NOTICE**:提示信息 > **E_DEPRECATED**:过期的方法调用提醒 > 还有很多,网上自查~~~~。。。。 > **E_ALL**:所有的错误、警告以及提醒 ### 日志常规设置 > error_reporting设置不同级别的错误信息,可以把位运算符[&(与)、|(或)、~(非)]和错误级别常量一起使用 > 关闭掉提示信息 ``` error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING ``` ## PHP异常处理 ### 格式 ``` try { //todo... }catch(\Exception $e) { echo $content = $e->getMessage(); } ``` ### 继承Exception类 ``` class MyException extends Exception{ public function __construct($message, $code=0){ parent::__construct($message, $code); } public function __toString() { return __CLASS__.":[".$this->code."]:".$this->message."<br>"; } } ``` ### 抛出与捕获异常 ``` try { echo 'do previous'; if (true) { $error = '出现XXX逻辑错误'; throw new MyException($error); } echo 'do next'; } catch (MyException $e) { echo '捕获异常: '.$e; } ```