首页 / PHP / 【php手册】异常处理
【php手册】异常处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【php手册】异常处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2192字,纯文字阅读大概需要4分钟。
内容图文
![【php手册】异常处理](/upload/InfoBanner/zyjiaocheng/138/a7c56e0535ef4eeea8b890d389c5d418.jpg)
这篇文章介绍的内容是关于【php手册】异常处理 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
异常处理
PHP 5
try代码块中抛出(throw )异常(exception),catch代码块中捕获异常
每次 try 必须至少有一个相应的catch或finally块。
抛出的对象必须是Exception类的一个实例或Exception的一个子类,否则导致PHP致命错误。
try { throw new Exception('异常提示语'); //throw 123; //Fatal error: Uncaught Error: Can only throw objects //throw new stdClass(); //Fatal error: Uncaught Error: Cannot throw objects that do not implement Throwable } catch (Exception $e) { echo $e->getMessage(); }
catch
可以使用多个catch块来捕获不同类别的异常。
正常执行(在try块内没有引发异常时)将按顺序定义的最后一个catch块之后继续。
异常可以在catch块中抛出(或重新抛出)。
当引发异常时,语句后面的代码将不会被执行,PHP将尝试查找第一个匹配的catch块。
如果没有捕获到异常,除非使用set_exception_handler()定义了处理程序,否则将发出一个PHP致命错误,并带有“Uncaught Exception …”消息。
finally
在PHP 5.5及更高版本中,finally块也可以在catch块之后或者代替catch块指定。
无论是否抛出异常,在正常执行恢复之前,finally块中的代码将始终在try和catch块后执行。
Example #4 Exception handling with a finally block(用finally块处理异常)<?phpfunction inverse($x) { if (!$x) { throw new Exception('pision by zero.'); } return 1/$x; }try { echo inverse(5) . "\n"; } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; } finally { echo "First finally.\n"; }try { echo inverse(0) . "\n"; } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; } finally { echo "Second finally.\n"; }// Continue executionecho "Hello World\n";?>
Example #5 Nested Exception (嵌套异常)<?phpclass MyException extends Exception { }class Test { public function testing() { try { try { throw new MyException('foo!'); } catch (MyException $e) { // rethrow it throw $e; } } catch (Exception $e) { var_dump($e->getMessage()); } } }$foo = new Test;$foo->testing();?>
Note set_exception_handler()设置用户自定义的异常处理函数 Exception::getMessage 获取异常消息内容
相关推荐:
【php类与对象】对象序列化
以上就是【php手册】异常处理的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的【php手册】异常处理全部内容,希望文章能够帮你解决【php手册】异常处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。