您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)PHP出現(xiàn)異常,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
<?php /**************************************************** * php處理異常 * try中不主動(dòng)throw,會(huì)先出現(xiàn)PHP的系統(tǒng)錯(cuò)誤 ****************************************************/ header("content-type:test/html:charset=utf-8"); error_reporting(-1); try { $num1 = 3; $num2 = 0; if ($num2 == 0) { throw new Exception("自定義錯(cuò)誤"); } else { $res = $num1 / $num2; } } catch (Exception $e) { echo $e->getMessage(); // die(); // 終止異常 } /****************************************************** * php+mysql+pdo *****************************************************/ try { $pdo = new PDO("mysql:host=localhost;dbname=mysql", "root", ""); } catch (PDOException $e) { echo $e->getMessage(); // die(); // 終止異常 } /****************************************************** * php+文件異常 *****************************************************/ /** * PHP 讀取大文件 SplFileObject : * https://blog.csdn.net/ekliu/article/details/8855907 */ // SqlFileObject相對(duì)于傳統(tǒng)的open($filename, 'r')產(chǎn)生的對(duì)象的優(yōu)點(diǎn)在于不需要打開文件句柄 不需要關(guān)閉句柄更加的方便 $handle = new SplFileObject("sid_list.txt"); while (!$handle->eof()) { $item = $handle->fgets(); } try { $pdo = new SplFileObject("text.txt", "r"); echo "read File"; } catch (Exception $e) { echo $e->getMessage(); // die(); // 終止異常 } /****************************************************** * php異常 嵌套 *****************************************************/ try { throw new Exception("測(cè)試異常1"); } catch (Exception $e) { echo $e->getMessage(); // die(); // 終止異常 try { throw new Exception("測(cè)試異常2"); } catch (Exception $e) { echo $e->getMessage(); } } /****************************************************** * php異常 自定義異常封裝 *****************************************************/ class MyException extends Exception { public function __construct($message = "", $code = 0, $previous = null) { parent::__construct($message, $code, $previous); } public function __toString() { $message = "<h3>出現(xiàn)異常,如下:</h3>"; $message .= "<p>" . __CLASS__ . "[{$this->code}:{$this->message}]</p>"; return $message; } /****************自定義異常方法***************/ public function test() { echo "這是自定義錯(cuò)誤"; } public function stop() { exit("異常 end..."); } } // 開始調(diào)用 MyException try { echo "出現(xiàn)異常啦"; throw new MyException("測(cè)試自定義異常", 3); } catch (MyException $e) { echo $e->getMessage(); } // 嵌套使用 MyException 與 Exception (沒(méi)有順序) try { throw new MyException("測(cè)試自定義異常"); } catch (Exception $e) { echo $e->getMessage(); } catch (MyException $e) { echo $e->getMessage(); } /****************************************************** * php異常 自定義異常封裝 文件 *****************************************************/ class FileException extends Exception { public function getDetails() { switch ($this->code) { case 0: return "沒(méi)有提供文件"; break; case 1: return "文件不存在"; break; case 2: return "不是一個(gè)文件"; break; case 3: return "文件不可寫"; break; case 4: return "非法文件的操作模式"; break; } } } class WriteData { private $_message = ""; private $_fp = null; public function __construct($filename = null, $mode = "w") { $this->_message = "文件:{$filename} ; 模式:{$mode}"; if (empty($filename)) throw new FileException($this->_message, 0); if (!file_exists($filename)) throw new FileException($this->_message, 1); if (!is_file($filename)) throw new FileException($this->_message, 2); // is_writable — 判斷給定的文件名是否可寫 if (!is_writable($filename)) throw new FileException($this->_message, 3); if (!in_array($mode, array("w", "w+", "a", "a +"))) throw new FileException($this->_message, 4); $this->_fp = fopen($filename, $mode); } public function write($data) { if (@!fwrite($this->_fp, $data . PHP_EOL)) throw new FileException($this->_message, 5); } public function close() { if ($this->_fp) { if (!fclose($this->_fp)) throw new FileException($this->_message, 6); $this->_fp = null; } } public function __destruct() { $this->close(); } }
php的框架:1、Laravel,Laravel是一款免費(fèi)并且開源的PHP應(yīng)用框架。2、Phalcon,Phalcon是運(yùn)行速度最快的一個(gè)PHP框架。3、Symfony,Symfony是一款為Web項(xiàng)目準(zhǔn)備的PHP框架。4、Yii,Yii是一款快速、安全和專業(yè)的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的開源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能強(qiáng)大的PHP框架。
關(guān)于“PHP出現(xiàn)異?!边@篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。