百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> php大神进阶之try catch
分享文章到:

php大神进阶之try catch

发布时间:09/01 来源:未知 浏览: 关键词:
PHP 5 增加了相似于其它说话的非常处置模块。在 PHP 代码中所发生的非常可被 throw语句抛出并被 catch 语句捕捉。(注:必然要先抛才能猎取
需要停止非常处置的代码都必需放入 try 代码块内,以便捕捉大概存在的非常。
每一个 try 至少要有一个与之对应的 catch。
使用多个 catch可以捕捉不一样的类所发生的非常。
当 try 代码块不再抛出非常或者寻不到 catch 能匹配所抛出的非常时,PHP 代码就会在跳转到最后一个 catch 的后面连续施行。
当然,PHP同意在 catch 代码块内再次抛出(throw)非常。
当一个非常被抛出时,其后(译者注:指抛出非常时所在的代码块)的代码将不会连续施行,而 PHP 就会尝试查寻第一个能与之匹配的 catch。

假如一个非常没有被捕捉,并且又没用使用 set_exception_handler() 作响应的处置的话,那么 PHP 将会发生一个严峻的错误,并且输出 Uncaught Exception ... (未捕捉非常)的提醒信息。

先来看一下PHP内置非常类的根本属性和办法。(不包罗详细实现)

<?php
/**
* Exception.php
* 
* PHP5内置的非常类的属性与办法
* 以下这段代码只为说明内置非常处置类的构造,它并不是一段有实际意义的可用代码。
*/

class Exception{
	protected $message = 'Unknown exception'; // 非常信息
	protected $code = 0; // 会员自定义非常代码
	protected $file; // 发生非常的文件名
	protected $line; // 发生非常的代码行号

	function __construct($message = null, $code = 0);
	final function getMessage(); // 返回非常信息
	final function getCode(); // 返回非常代码(代号)
	final function getFile(); // 返回发生非常的文件名
	final function getLine(); // 返回发生非常的代码行号
	final function getTrace(); // backtrace() 数组
	final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

	//可重载的办法
	function __toString(); // 可输出的字符串
}
?>

例子如下:

包括文件错误抛出非常

<?php
// 错误的演示
try {
require ('test_try_catch.php');
} catch (Exception $e) {
echo $e->getMessage();
}
// 准确的抛出非常
try {
if (file_exists('test_try_catch.php')) {
require ('test_try_catch.php');
} else {
throw new Exception('file is not exists');
}
} catch (Exception $e) {
echo $e->getMessage();
}

更多教程:《php教程》

以上就是php大神进阶之try catch的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有153人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板