版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PHP面向?qū)ο蟮脑O(shè)計(jì)06主講:郵箱:微博:課前復(fù)習(xí)預(yù)習(xí)檢查本章任務(wù)1.PHP的異常處理2.PHP中類與對(duì)象的相關(guān)函數(shù)1.異常處理異常(Exception)處理用于在指定的錯(cuò)誤發(fā)生時(shí)改變腳本的正常流程。是PHP5中的一個(gè)新的重要特性。異常處理是一種可擴(kuò)展、易維護(hù)的錯(cuò)誤處理統(tǒng)一機(jī)制,并提供了一種新的面向?qū)ο蟮腻e(cuò)誤處理方式。異常處理格式:
try{
使用try去包含可能會(huì)發(fā)生異常的代碼.
一旦出現(xiàn)異常try進(jìn)行捕獲異常,交給catch處理。
拋出異常語(yǔ)句:throw異常對(duì)象。 }catch(異常對(duì)象參數(shù)){
在這里做異常處理。 }[catch(。,,){
...... }]一個(gè)簡(jiǎn)單異常處理實(shí)例<?php
try{ $error='Alwaysthrowthiserror'; thrownewException($error);
//創(chuàng)建一個(gè)異常對(duì)象,通過(guò)throw語(yǔ)句拋出
echo'Never
executed';
//從這里開(kāi)始,try代碼塊內(nèi)的代碼將不會(huì)再被執(zhí)行
}catch(Exception$e){ echo‘Caughtexception:’.$e->getMessage()."\n";
//輸出捕獲的異常消息
} echo'HelloWorld';//程序沒(méi)有崩潰繼續(xù)向下執(zhí)行系統(tǒng)自帶異常處理<?php
class
Exception{
protected
$message
=
'Unknown
exception';
//
異常信息
protected
$code
=
0;
//
用戶自定義異常代碼
protected
$file;
//
發(fā)生異常的文件名
protected
$line;
//
發(fā)生異常的代碼行號(hào)
function
__construct($message
=
null,
$code
=
0);
final
function
getMessage();
//
返回異常信息
final
function
getCode();
//
返回異常代碼
final
function
getFile();
//
返回發(fā)生異常的文件名
final
function
getLine();
//
返回發(fā)生異常的代碼行號(hào)
final
function
getTrace();
//
backtrace()
數(shù)組
final
function
getTraceAsString();//
已格成化成字符串的
getTrace()
信息
/*
可重載的方法
*/
function
__toString();
//
可輸出的字符串
}自定義異常<?php /*自定義的一個(gè)異常處理類,但必須是擴(kuò)展內(nèi)異常處理類的子類*/ classMyExceptionextendsException{ //重定義構(gòu)造器使第一個(gè)參數(shù)message變?yōu)楸仨毐恢付ǖ膶傩?/p>
publicfunction__construct($message,$code=0){ //可以在這里定義一些自己的代碼
//建議同時(shí)調(diào)用parent::construct()來(lái)檢查所有的變量是否已被賦值
parent::__construct($message,$code); } publicfunction__toString(){//重寫父類方法,自定義字符串輸出的樣式
return__CLASS__.":[".$this->code."]:".$this->message."<br>"; } publicfunctioncustomFunction(){//為這個(gè)異常自定義一個(gè)處理方法
echo"按自定義的方法處理出現(xiàn)的這個(gè)類型的異常<br>"; } }?>自定義異常<?phptry{//使用自定義的異常類捕獲一個(gè)異常,并處理異常
$error='允許拋出這個(gè)錯(cuò)誤'; thrownewMyException($error); //創(chuàng)建一個(gè)自定義的異常類對(duì)象,通過(guò)throw語(yǔ)句拋出
echo'Neverexecuted'; //從這里開(kāi)始,try代碼塊內(nèi)的代碼將不會(huì)再被執(zhí)行
}catch(MyException$e){//捕獲自定義的異常對(duì)象
echo'捕獲異常:'.$e;//輸出捕獲的異常消息
$e->customFunction();//通過(guò)自定義的異常對(duì)象中的方法處理異常
} echo'你好呀';//程序沒(méi)有崩潰繼續(xù)向下執(zhí)行捕獲多個(gè)異常在try代碼之后,必須至少給出一個(gè)catch代碼塊,也可以將多個(gè)catch代碼塊與一個(gè)try代碼塊關(guān)聯(lián)使用。那么使用多個(gè)catch就可以捕獲不同的類所產(chǎn)生的異常。注意順序。2.PHP中類與對(duì)象的相關(guān)函數(shù)1.class_exists—檢查類是否已定義格式: boolclass_exists(string$class_name[,bool$autoload]) --如果由class_name所指的類已經(jīng)定義,此函數(shù)返回TRUE,否則返回FALSE。
默認(rèn)將會(huì)嘗試調(diào)用__autoload,如果不想讓class_exists()調(diào)用__autoload,可以將autoload參數(shù)設(shè)為FALSE。2.get_class_methods—返回由類的方法名組成的數(shù)組格式:arrayget_class_methods(mixed$class_name)返回由class_name指定的類中定義的方法名所組成的數(shù)組。如果出錯(cuò),則返回NULL。從PHP4.0.6開(kāi)始,可以指定對(duì)象本身來(lái)代替class_name3.get_class—返回對(duì)象的類名格式:stringget_class([object$obj])返回對(duì)象實(shí)例obj所屬類的名字。如果obj不是一個(gè)對(duì)象則返回FALSE。4.get_object_vars—返回由對(duì)象屬性組成的關(guān)聯(lián)數(shù)組格式:arrayget_object_vars(object$obj)返回由obj指定的對(duì)象中定義的屬性組成的關(guān)聯(lián)數(shù)組。5.get_parent_class—返回對(duì)象或類的父類名格式:stringget_parent_class([mixed$obj])如果obj是對(duì)象,則返回對(duì)象實(shí)例obj所屬類的父類名。6.is_a—如果對(duì)象屬于該類或該類是此對(duì)象的父類則返回TRUE格式:boolis_a(object$object,string$class_name)我們可以使用運(yùn)算符:instanceof代替上面的is_a操作7.method_exists—檢查類的方法是否存在格式:boolmethod_exists(object$object,string$method_name)如果method_name所指的方法在object所指的對(duì)象類中已定義,則返回TRUE,否則返回FALSE。8
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 白領(lǐng)邀約溝通話術(shù)
- 交通安全主題班會(huì)課件
- 2026濱州市公安機(jī)關(guān)警務(wù)輔助人員招錄備考題庫(kù)(141人)及答案詳解1套
- 切花養(yǎng)護(hù)知識(shí)培訓(xùn)
- 標(biāo)準(zhǔn)化的安全培訓(xùn)課件
- 最親近的人寫人作文7篇
- 企業(yè)生產(chǎn)安全管理指南與表格工具
- 鉛山縣民政局公開(kāi)選調(diào)葛仙山鎮(zhèn)中心敬老院院長(zhǎng)備考題庫(kù)完整答案詳解
- 浙江國(guó)企招聘-2026年紹興嵊州市水務(wù)投資發(fā)展集團(tuán)有限公司公開(kāi)招聘工作人員8人備考題庫(kù)及參考答案詳解一套
- 數(shù)字化轉(zhuǎn)型培訓(xùn)課件
- 【語(yǔ)文】上海市小學(xué)六年級(jí)上冊(cè)期末試題(含答案)
- 2025年解碼“出海”:中藥文化的品牌建設(shè)與國(guó)際傳播策略研究報(bào)告
- GB/T 38232-2025工程用鋼絲繩網(wǎng)
- 供應(yīng)商合規(guī)聲明書標(biāo)準(zhǔn)格式范本
- 軟件工程人員培訓(xùn)制度
- 2024水電工程陸生野生動(dòng)物生境保護(hù)設(shè)計(jì)規(guī)范
- 風(fēng)電場(chǎng)安全警示教育培訓(xùn)課件
- 【語(yǔ)文】廣東省廣州市天河區(qū)體育東路小學(xué)小學(xué)二年級(jí)上冊(cè)期末試卷(含答案)
- 加油站職業(yè)衛(wèi)生安全培訓(xùn)課件
- 仁愛(ài)科普版(2024)七年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案(單元整體教學(xué)設(shè)計(jì))
- 地質(zhì)災(zāi)害危險(xiǎn)性區(qū)域評(píng)估服務(wù) 方案投標(biāo)文件(技術(shù)標(biāo))
評(píng)論
0/150
提交評(píng)論