php之异常处理

 1 <?php
 2 /*
 3 异常
 4 
 5 */
 6 //error_reporting(0);
 7 class Mysql {
 8     protected $conn;
 9     public function __construct() {
10         $this->conn = @mysql_connect('localhost','root','13456');//@是错误抑制符,不报告错误
11         if (!$this->conn) {
12             //发卫星报告
13             //在php中,卫星是一种规定的对象
14             //哪个类的对象:Exception类的对象
15             //new Exception('错误原因',错误代码)
16             $e = new Exception('漏油了',5);
17             throw $e;//throw 抛出/扔出
18         }
19     }
20 }
21 try {//测试,并试图捕获错误信息
22     $mysql = new Mysql();//返回mysql对象,并且自动连接数据库
23     
24 
25 } catch(Exception $e) {
26     echo $e,'<br />';
27     echo '捕获到错误信息<br />';
28     echo '错误信息:',$e->getMessage(),'<br />';
29     echo '错误代码:',$e->getCode(),'<br />';
30     echo '错误文件:',$e->getFile(),'<br />';
31     echo '错误行:',$e->getLine(),'<br />';
32 }
33 
34 /*
35 问:怎么判断是否成功连接上了数据库?
36 答:返回对象后,打印对象的$conn属性来判断
37 
38 需要2个步骤
39 1:new Mysql
40 2:if ($mysql->conn) {
41 }
42 思考:我们以前用函数时,都是返回一个值,用值来判断各种情况
43 比如返回true/false代表成功/失败
44 现在我们用返回值还行不行?
45 
46 */
47 var_dump($mysql);//如果数据库连接失败,为null
48 if ($mysql instanceof Mysql) {
49     echo '创建对象成功,大概连接成功';
50 }else {
51     echo '创建对象失败,大概连接失败';
52 }
53 ?>

 

posted @ 2015-07-24 14:40  museluo  阅读(259)  评论(0编辑  收藏  举报