一.異常處理:
1. php異常舉例:
<?php
//執行無結果。
$a = null;
trycatch(exception $e)
echo $a;
2.詳細的異常舉例:
<?php
header("content-type: text/html; charset=utf-8");
class emailexception extends exception
class pwdexception extends exception
in file:($this->getfile()) on line:
"; }
}function reg($reginfo =null)
if (empty($reginfo['email']))
if ($reginfo['pwd'] != $reginfo['repwd'])
echo "註冊成功";}/*
* 這個**無法執行,抽空找原因
*/trycatch (emailexception $ee)catch (pwdexception $ep)catch (exception $e)
3. 用到異常處理的場景:
a. 對程式的悲觀**
b. 程式的需要和對業務的關注
c. 語言級別的健壯性要求:捕捉異常並做出相應的補救
3. 面對異常:處理異常需要在合理的場景下
二.php的錯誤級別:
1.php的錯誤級別:
a.deprecated:最低級別。『不推薦,不建議』
b.notice:語法不當。比如使用變數而未定義
c.warning:函式引數不匹配
d.fetal error:直接導致php流程終結,後面**不再執行。
e.prase error:語法檢查階段將報此錯。php手冊一共定義了16個級別的錯誤。
2.舉例:
<?php
據說可以演示錯誤,但我出現了正確結果……
$date = '2012-12-20';
if (ereg("([0-9])-([0-9])-([0-9])",$date,$regs))else
if ($i>5)
$a = array('o'=>2,4,6,8);
echo $a[o];
$result = array_sum($a,3);
echo fun();
echo "錯誤了…… 能繼續嗎?";
4. php錯誤處理機制:
<?php
function customererror($errno,$errstr,$errfile,$errline)],檔案\r\n";
echo "錯誤所在的**行:檔案\r\n";
echo "php版本",php_version,"(",php_os,")\r\n";
}set_error_handler("customeerror",e_all|e_strict);
$a = array('o'=>2,4,6,8);
echo $a['o'];
//此問題亦無答案。沒有報錯
三.php物件導向的總結:
php物件導向的知識點:魔術方法、介面、多型、類的復用、反射、異常機制。
php也引入了一些函式式程式設計的概念。
物件導向(4)異常型別
程式在執行過程中產生的不正常的現象稱為異常 在程式執行過程中如果產生異常,將根據預定義的方案或者解決辦法進行處理 當處理完以後 程式還將繼續執行直到結束,形成有效的 穩健的處理流程,這樣的過程稱為異常處理機制。if語句在處理異常時暴露的缺點 a 在程式中加入大量的if語句處理異常,將使得 變得臃腫,...
物件導向和異常
物件導向技術簡介 類 class 用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項。方法 類中定義的函式。類變數 類變數在整個例項化的物件中是公用的。類變數定義在類中且在函式體之外。類變數通常不作為例項變數使用。資料成員 類變數在整個例項化的物件中...
PHP物件導向開發(四)
十 一 物件的高階特性 1 物件比較 當同乙個類的兩個例項的所有屬性都相等時,可以使用比較運算子 進行判斷,當需要判斷兩個變數是否為同乙個物件的引用時,可以使用全等運算子 進行判斷。2 物件複製 在一些特殊情況下,可以通過關鍵字clone來複製乙個物件,這時 clone方法會被呼叫,通過這個魔術方法...