PHP之异常处理模式

 1 <?php
 2 
 3     /*
 4         异常处理模式
 5             非php标准错误就是异常。
 6         php中错误的处理有两种情况:
 7             标准错误
 8             异常在面向对象的程序中,处理错误的机制。    
 9         异常:php在处理面向对象程序,所使用一种错误机制,将错误信息:原因,位置,封装成一个对象
10 
11         语法格式:
12         try{
13             //可能发生的异常代码
14         }catch(Exception $e){
15             //捕获异常,进行处理
16         }
17 
18         类的使用者:捕获异常信息进行处理。
19         类的定义者:抛出异常信息 Throw
20 
21         tips:异常一旦没有被捕获就会发生 致命级别错误。fetal error
22 
23         PDOException extends RuntimeException extends Exception
24         运行时的异常。
25 
26     */
27 
28         try{
29 
30             $dsn = "mysql:localhost; port=3306; dbname=mytest";
31             $username='root';
32             $password='root';
33             $options = array(
34                 PDO::MYSQL_ATTR_INIT_COMMAND =>'set names utf8';    
35             );
36 
37             //连接
38             $pdo = new PDO($dsn, $username, $password, $options);
39 
40         }catch(PDOException $e){    
41             echo $e->getMessage();  //获取错误信息(异常信息)
42         }
43 
44     class Student{
45         private $_gender;
46 
47         public function setGender($g){
48             if (in_array($g, array('male','female','secrt'))) {
49                 $this->_gender= $g;
50             }
51         }else{
52             throw new Exception('message:你输入的有问题');
53         }
54     }    
55 
56     //类的使用者
57     try{
58         $s = new Student();
59         $s->setGender('aa');
60         var_dump($s);
61     }catch(PDOException $pe){
62         echo $pe->getMessage();
63     }catch(Exception $e){
64         echo $e->getMessage();
65     }
66 
67 
68     //自定义异常对象
69     class MyException extends Exception{
70         
71     }    
原文地址:https://www.cnblogs.com/sharecorner/p/6155474.html