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 ?>