這篇文章將為大家詳細(xì)講解有關(guān)PHP出現(xiàn)異常,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
目前成都創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、玉田網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

<?php
/****************************************************
* php處理異常
* try中不主動throw,會先出現(xiàn)PHP的系統(tǒng)錯誤
****************************************************/
header("content-type:test/html:charset=utf-8");
error_reporting(-1);
try {
$num1 = 3;
$num2 = 0;
if ($num2 == 0) {
throw new Exception("自定義錯誤");
} 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相對于傳統(tǒng)的open($filename, 'r')產(chǎn)生的對象的優(yōu)點在于不需要打開文件句柄 不需要關(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("測試異常1");
} catch (Exception $e) {
echo $e->getMessage();
// die(); // 終止異常
try {
throw new Exception("測試異常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 "這是自定義錯誤";
}
public function stop()
{
exit("異常 end...");
}
}
// 開始調(diào)用 MyException
try {
echo "出現(xiàn)異常啦";
throw new MyException("測試自定義異常", 3);
} catch (MyException $e) {
echo $e->getMessage();
}
// 嵌套使用 MyException 與 Exception (沒有順序)
try {
throw new MyException("測試自定義異常");
} 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 "沒有提供文件";
break;
case 1:
return "文件不存在";
break;
case 2:
return "不是一個文件";
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是一款免費并且開源的PHP應(yīng)用框架。2、Phalcon,Phalcon是運行速度最快的一個PHP框架。3、Symfony,Symfony是一款為Web項目準(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)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
標(biāo)題名稱:PHP出現(xiàn)異常
分享鏈接:http://www.chinadenli.net/article16/geisgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站設(shè)計公司、外貿(mào)建站、Google、企業(yè)網(wǎng)站制作、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)