PHP面向对象 – 异常处理Exception

异常经常被用来处理一些在程序正常执行中遇到的各种类型的错误。比如做数据库链接时,你就要处理数据库连接失败的情况。使用异常可以提高我们程序的容错特性,从而使我们的应用程序更加的稳定和健壮。

PHP5 增加了类似其他语言的异常处理模块。在PHP代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入到 try 代码块内,以便捕获可能存在的异常。每个try至少对应一个 catch 块。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内再次抛出(throw)异常。

预定义异常 Exception

class  Exception{
	protected $message = 'Unknown exception';  // 异常信息
   	protected $code = 0;	// 用户自定义异常代码
    	protected $file;	// 发生异常的文件名
    	protected $line;
    	function __construct($message = null, $code = 0);
    	final function getMessage();	// 返回异常信息
    	final function getCode();	// 返回异常代码
    	final function getFile();	// 返回发生异常的文件名
    	final function getLine();	// 返回发生异常的代码行号
    	final function getTrace();	// backtrace() 数组
    	final function getTraceAsString();	// 已格成化成字符串的 getTrace() 信息
	function __toString();	// 可输出的字符串
}

下面是连接数据库的栗子:

class connectmysql{
	private $host = 'localhost';
	private $username = 'root';
	private $password = '1111';
	protected $conn = NULL;
	public function __CONSTRUCT(){
		$this->conn = mysql_connect($this->host,$this->username,$this->password);
		if(!$this->conn){
			throw new Exception("error: can't connect mysql!",1);	//抛出异常
		}
	}
}
try{
	$mysql = new connectmysql();
}catch(Exception $e){
	echo $e->getMessage().'<br>';
	echo $e->getCode().'<br>';
	echo $e->getFile().'<br>';
	echo $e->getLine().'<br>';
	echo $e.'<br>';
}

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇