ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 概述 我们需要针对不同的异常进行不同的处理, 我们就可以通过自定义的异常类 . Exception类就是所有异常的基类 . 我们只需要继承这个基类就可以了 . Exception类只有两个方法可以进行重写:构造方法和toString方法 . ### 自定义一个异常类 ~~~ class MyException extends Exception{ public function __construct($message = "", $code = 0, Throwable $previous = null) { parent::__construct($message, $code, $previous); } public function __toString() { $message = "<h2>出现异常了,信息如下</h2>"; $message .= "<p>" . __CLASS__ ."[". $this->code . "]:" . $this->message . "</p>"; return $message; } public function test() { echo "this is test"; } public function stop() { die("script end..."); } } try{ echo "出现异常了"; throw new MyException("测试自定义异常",100); } catch(MyException $e){ echo $e->getMessage(); echo $e; } ~~~ 结果 ~~~ 出现异常了测试自定义异常 出现异常了,信息如下 MyException[100]:测试自定义异常 ~~~ ### 进行多个catch进行捕获 还是使用上面的自定义异常类 . ~~~ try{ echo "出现异常了"; throw new MyException("测试自定义异常",100); } catch(MyException $e){ echo $e->getMessage(); echo $e; }catch(Exception $e){ echo $e->getMessage(); //在进行多个catch的时候需要把系统的Exception放在最底下 } ~~~