/*** 自定义一个异常处理类*/class MyException extends Exception{ // 重定义构造器使 message 变为必须被指定的属性 public function __construct($message, $code = 0) { // 自定义的代码 // 确保所有变量都被正确赋值 parent::__construct($message, $code); } // 自定义字符串输出的样式 public function __toString() { return __CLASS__ . ": [{$this->code}]: {$this->message}n"; } } /** * 创建一个用于测试异常处理机制的类 */ class TestException { function __construct($str) { if($str == 1) throw new MyException('参数不能为1哦',1); elseif($str == 2) throw new MyException('参数不能为2哦',2);//抛出2个异常 else echo $str; } } try { $o = new TestException(2); } catch (MyException $e) { // 捕获异常 echo $e; } ?> 复制代码