ホームページ >バックエンド開発 >PHPチュートリアル >(4) PHP オブジェクト指向理論 4---例外とエラーの処理

(4) PHP オブジェクト指向理論 4---例外とエラーの処理

WBOY
WBOYオリジナル
2016-08-08 09:19:21880ブラウズ

1つ。例外処理:
1. PHP 例外の例:

<?php
//运行无结果。
$a = null;
try{
    $a = 5 / 0 ;
    echo $a,PHP_EOL;
}catch(exception $e){
    $e->getMessage();
    $a = -1;
}
echo $a;
2. 例外処理が使用されるシナリオ:
a. プログラムのニーズとビジネス上の懸念事項
c.要件: 例外をキャッチし、対応する救済策を作成する
3. 例外に直面する: 例外の処理は合理的なシナリオで処理する必要があります
2. PHP エラー レベル:
1.PHP エラー レベル:
a.deprecated: 最低レベル。 「推奨されません、推奨されません」
b.notice: 文法が不適切です。たとえば、変数を定義せずに使用すると、
c.warning: functionparameters do not match
d.fetal error: PHP プロセスの終了に直接つながり、次のコードは実行されなくなります。
e.prase エラー: このエラーは構文チェック段階で報告されます。 PHP マニュアルでは、合計 16 レベルのエラーが定義されています。
2. 例:
<?php
header("Content-type: text/html; charset=utf-8");

class emailException extends exception{

}
class pwdException extends exception{
    function __toString(){
        return "<div class =\"error\">Exception($this->getCode()):
        {$this->getMessage()}
        in File:($this->getFile()) on Line:{$this->getLine()}</div>";
    }
}

function reg($reginfo =null){
    if (empty($reginfo) || isset($reginfo)){
        throw new Exception("参数非法");
    }
    if (empty($reginfo['email'])){
        throw new emailException("邮件为空");
    }
    if ($reginfo['pwd'] != $reginfo['repwd']){
        throw new pwdException("两次密码不一致");
    }
    echo "注册成功";
}
/*
 * 这个代码无法执行,抽空找原因
 */

try{
    reg(array('email' => 'waitfox@qq.com','pwd'=>123456,'repwd'=>12345678));
}catch (emailException $ee){
    echo $ee->getMessage();
}catch (pwdException $ep){
    echo $ep;
    echo PHP_EOL,"特殊处理";
}catch (Exception $e){
    echo $e->getTraceAsString();
    echo PHP_EOL,"其他情况统一处理";
}
4。PHP エラー処理メカニズム:
<?php
//php5.6,据说可以演示错误,但我出现了正确结果……
$date = &#39;2012-12-20&#39;;
if (ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$date,$regs)){
    echo "$regs[3].$regs[2].$regs[1]";
}else{
    echo "Invaild date format:$date";
}

if ($i>5){
    echo "$i没有初始化啊",PHP_EOL;
}

$a = array('o'=>2,4,6,8);
echo $a[o];
$result = array_sum($a,3);
echo fun();
echo "错误了…… 能继续吗?";
3。 PHP オブジェクト指向の概要:
PHP オブジェクト指向の知識ポイント: マジック メソッド、インターフェイス、ポリモーフィズム、クラスの再利用、リフレクション、例外メカニズム。
PHP では、関数型プログラミングの概念もいくつか導入されています。


著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

以上、(4) PHP オブジェクト指向理論 4 ---例外とエラー処理について、その側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。