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