ここでの My_expection は開発者によってカスタマイズされます 例外処理関数トップレベルの例外ハンドラです。プログラムに例外を処理する関数がない場合にのみ、トップレベルの例外ハンドラが例外を処理します。トップレベルの例外ハンドラが定義されていない場合は、システムのデフォルトの例外ハンドラが例外を処理します。例外
例:
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<span style="color: #000000;">php </span><span style="color: #008080;">set_exception_handler</span>("My_expection"<span style="color: #000000;">); </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> My_expection(){ </span><span style="color: #0000ff;">echo</span> "这里是顶级异常处理器"<span style="color: #000000;">; } </span><span style="color: #0000ff;">try</span><span style="color: #000000;">{ nohello(</span>"hello"<span style="color: #000000;">); }</span><span style="color: #0000ff;">catch</span>(<span style="color: #0000ff;">Exception</span> <span style="color: #800080;">$e</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">throw</span> <span style="color: #800080;">$e</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">function</span> nohello(<span style="color: #800080;">$nohello</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$nohello</span> == "hello"<span style="color: #000000;">){ </span><span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> <span style="color: #0000ff;">Exception</span>("不能输入hello"<span style="color: #000000;">); }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #0000ff;">echo</span> "输入成功"<span style="color: #000000;">; } }</span>?>
転載元: http://blog.sina.com.cn/s/blog_641d5693010121cr.html