<?php //定义一个顶级异常处理器 要定义在最上面 function my_exception($e) { echo "我是顶级异常处理:".$e->getMessage(); } //修改默认顶级异常处理函数 set_exception_handler("my_exception"); function a1($val) { if($val>100) { throw new Exception("val>100"); } } function a2($val) { if($val=="hello") { throw new Exception("不要输入Hello"); } } try { a2("hello"); }catch(Exception $ex) { throw $ex; } //------------------------- class MyException1 extends Exception{ } class MyException2 extends Exception{ } function A() { throw new MyException1("a"); } function B() { throw new MyException2("b"); } function C() { try{ A(); B(); }catch(MyException1 $e1) { echo "第一种异常".$e1->getMessage(); }catch(MyException2 $e2) { echo "第二种异常:". $e2->getMessage(); } } C(); ?>