(四)PHP物件導向理論4 異常和錯誤處理

2021-07-04 06:53:08 字數 1810 閱讀 1009

一.異常處理:

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方法會被呼叫,通過這個魔術方法...