以下是引用片段:
1.允许一个方法给出一个出错标记给客户代码
2.提供程序错误的详细信息
3.让你同时判断多个出错条件,将你的错误报告和程序处理流程分开。
4.返回值必须是独立的类型,不会与正常返回的类型相混淆
两个实例掌握PHP异常处理
//例【1】用 try...catch
| 代码如下 | 复制代码 |
| /* PDO连接mysql数据库,如果没看过PDO,先看下PDO的构造函数,要不跳过例1看例2 */ $dsn = 'mysql:host=localhost;dbname=testdb'; $user = 'dbuser'; $password = 'dbpass'; try { $dbh = new PDO($dsn, $user, $password); //创建数据库连接对象容易出现异常 echo '如果上面出现异常就不能显示我了'; } catch (PDOException $e) { echo 'Connection failed: ' . $e->__toString(); } ?> |
|
例
| 代码如下 | 复制代码 |
|
//例[2] try..cathc 和 throw一起用 try { $error = '我抛出异常信息,并且跳出try块'; if(is_dir('./tests')){ echo 'do sth.'; }else{ throw new Exception($error,12345); } echo '上面有异常的话就轮不到我了!~ ',"n"; } catch (Exception $e) { echo '捕获异常: ', $e->getMessage(),$e->getCode(), "n "; //显示$error和123456 } echo '继续执行'; ?> |
|
上面一个朋友说的,下面我自己来写了点程序练习一下:
以下是代码片段:
| 代码如下 | 复制代码 |
|
// 使用常规catch的例子 echo "
// 使用不同的扩展异常类的例子 try ?> |
|
输出如下:
以下是引用片段:
0 : exception 'Exception' with message 'Who am I ?' in D:WebPHPWWWnewtest.php:24 Stack trace: #0 {main}
--------------------------------------------------------------------------------
0 : exception 'Exception' with message 'Who am I ?' in D:WebPHPWWWnewtest.php:69 Stack trace: #0 {main}
g沙盒仇恨官方英文版(gorebox)
G沙盒仇恨英文原版是一款最近非常火热的沙盒模拟类游戏,在这里
迷你世界测试服最新版2024
迷你世界测试服2021最新版,即迷你世界的先遣服版本,用户能
闪耀暖暖最新版2024
闪耀暖暖手游这是非常好玩的换装手游,游戏内容丰富有趣,游戏环
杜拉拉升职记官方正版
杜拉拉升职记手游完美还原了经典同名电视剧中的故事剧情、以及各
银河战舰手机版
银河战舰满你所想宇宙战舰世界,茫茫宇宙资源是一切,你必须利用