<?php
/*
?* WEB开发笔记 www.chhua.com 每日练习 PHP面向对象编程——再写PHP异常处理
?*/
/*代码演示
?* */
class HelloWorld {//基类
??? public function getHtml($str=””){
??? ?if (empty($str)){
??? ??die(“getHtml方法没有传递参数”);//die函数中止的方法
??? ?}
??? }
???
??? public function getText($str=””){
??? ?if (empty($str)){
??? ??throw new Exception(“getText 方法没有传递参数!”);//抛出异常的方法
??? ?}
??? }
}
$hello=new HelloWorld();
try {
?$hello->getText();
}
catch (Exception $e){
?echo $e->getMessage();
}
?>
感觉PHP中的try{}catch{}结构像鸡肋
这是PHP手册中对PHP异常处理的介绍,看起来似乎不错,我们可以像C系列语言一样使用try{}catch{}结构了。
但问题是,PHP压根就不会自己产生异常,至于是不是出了异常,仍然需要我们自己判断,如果有,需要我们自己用throw new Exception语句抛出一个异常,然后再用catch去捕获……
似乎有点没事找事的味道:本来没有麻烦,我们去自己去制造一个麻烦出来,然后再自己把麻烦解决掉。
且不说它没事找事,既然我们都知道异常了,为何却要抛一个异常出去然后再捕获?知道异常了直接提示用户是不是更好呢?
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: PHP面向对象编程——再写PHP异常处理 http://www.chhua.com/web-note935
评论