天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP的異常處理類Exception的使用及說明

1、首先php5提供了基本的異常處理類,可直接使用
復制代碼 代碼如下:
<?php
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(); // 可輸出的字符串
}
?>

簡單的使用如下:(通過異常,拋出錯誤信息)
復制代碼 代碼如下:
try {
$error = 'my error!';
throw new Exception($error)
} catch (Exception $e) {
echo $e->getMessage();
}

2、我們可以擴展此類,方便我們的使用
復制代碼 代碼如下:
class MyException extends Exception
{
// 重定義構造器使 message 變為必須被指定的屬性
public function __construct($message, $code = 0) {
// 自定義的代碼
// 確保所有變量都被正確賦值
parent::__construct($message, $code);
}
// 自定義字符串輸出的樣式
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message}/n";
}
public function customFunction() {
echo "A Custom function for this type of exception/n";
}
}

異常處理的基本思想是代碼在try代碼被調用執行。如果try碼塊出現錯誤,我們可以執行一個拋出異常的處理。某些編程語言,如Java,,在特定情況下將自動拋出異常。在php中,異常必須手動拋出??梢允褂萌缦路绞綊伋鲆粋€異常:
  Throw new Exception(‘message',code);
  Throw 關鍵字將觸發異常處理機制,它是一個語言結構,而不是一個函數,但是必須給它傳遞一個值。它要求一個接受對象。在最簡單的情況下,可以實例化一個內置的Exception類。
  最后,在try代碼之后,必須至少給出一個catch代碼塊。可以將多個catch代碼塊與一個try代碼塊進行關聯。如果每個catch代碼塊可以捕獲一個不同類型的異常,可以使用多個catch代碼塊是有意義的。例如,如果想捕獲Exception類的異常,代碼如下
復制代碼 代碼如下:
Catch(Exception $e)
{
//handing exception
}
Catch代碼捕獲的對象就是導致異常并傳遞給throw語句的對象(被throw 語句拋出)。使用Exception 類的實例,是不錯的選擇。
Exception類提供了如下的內置方法:
  Getcode()   ―返回傳遞給構造函數的代碼。
  GetMessage() ―返回傳遞給構造函數的消息。
  getFile()     ―返回產生異常代碼的文件的路徑
  getLine()    ―返回產生異常的代碼所在的行。

注意:
當捕獲到一個異常后,try()塊里面的后續代碼將不會繼續執行,而是會嘗試查找匹配的“catch”代碼塊
當拋出一個異常后,如果不進行catch處理,則會報“Uncaught exception 'Exception'”錯誤
復制代碼 代碼如下:
<?php
function test($val){
if ($val>100){
throw new Exception("提示信息:您輸入的值過大");
}
}
test(111);
?>

3.當一個異常拋出后,catch語句塊可以進行處理也可以不處理
以下是我用戶注冊功能的部分代碼
復制代碼 代碼如下:
try{
//check forms filled in
if(!filled_out($_POST)){
throw new Exception('你還沒有填寫表單,請回去填寫');
}
//check email address not valid
if(!check_email($email)){
throw new Exception('郵件的格式不正確');
}
//檢查密度的長度是否大于6
if(strlen($passwd<6)){
throw new Exception('密度的長度應該大于6');
}
//檢查兩次密碼是否相等
if($passwd!=$passwd1){
throw new Exception('兩次密碼不一樣,請重新輸入');
}
//檢查用戶名的長度是否正確
if(strlen($username)>16){
throw new Exception('用戶名的長度不符,請重新輸入');
}
} catch(Exception $e){
echo $e->getMessage(); //輸出異常信息。
}

php技術PHP的異常處理類Exception的使用及說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产传媒精品1区2区3区 | 亚洲黄色网页 | 亚洲欧美综合乱码精品成人网 | 狠狠撸亚洲视频 | 一个人看www| 拔萝卜在线高清观看视频 | 亚洲福利天堂网福利在线观看 | 一品道门免费高清视频 | 天天躁日日躁狠狠躁午夜剧场 | 啪啪羞羞GIF男女0OXX动态图 | 国产XXXXXX农村野外 | 99久久国产露脸国语对白 | 亚洲第一伊人 | 日韩在线视频www色 日韩在线看片中文字幕不卡 | 国产老师开裆丝袜喷水漫画 | 中文字幕一区久久久久 | 成人免费在线视频 | 男女牲交全过程免费播放 | 青青伊人久久 | 中文视频在线观看 | 扒开黑女人p大荫蒂老女人 扒开粉嫩的小缝末成年小美女 | 国产高清超清在线播放 | 国产精品久久久久久熟妇吹潮软件 | 97人妻在线公开视频在线观看 | 樱花草在线影视WWW日本动漫 | 高h乱np甄宓 | yellow日本高清在线 | 992交通广播| 国产偷啪自怕网 | 亚洲人成电影网站色2017 | 国产WW久久久久久久久久 | 国产亚洲精品AV麻豆狂野 | 国产在线观看香蕉视频 | 花蝴蝶免费观看影视 | 青青草原免费在线 | 麻花豆传媒剧国产免费mv观看 | 欧美一区二区三区男同 | 狼群影院视频在线观看WWW | 97人妻无码AV碰碰视频 | 视频一区亚洲中文字幕 | 久久香蕉国产线看观看精品 |