复习PHP-语言参考-异常处理

1.如何简单地使用呢?

<?php
function foo($a)
{
    if(!$a)
    {
        throw new Exception("can't find {$a}"); //这里来报错
    }else{
        return $a;
    }
}
try{
    foo(0);
}catch(Exception $e)
{
    print_r($e);
}
?>

提示:用它可以友好地代替PHP错误提示。

关于异常应该在什么场合下用,可以查看这篇文章:http://bbs.phpchina.com/forum.php?mod=redirect&goto=findpost&ptid=212378&pid=1800701

需要注意的是:不同的异常抛出不同的错误类(而这些错误类是自己写的Exception的子类)

<?php
class aException extends Exception{
    public function __construct ($message, $code, $previous) {
        parent::__construct($message, $code, $previous);
        $this->message = "你看不到我";
    }
}
function foo($a)
{
    if(!$a)
    {
        throw new aException("",1,NULL);
    }else{
        return $a;
    }
}
try{
    foo(0);
}catch(aException $e)
{
    print_r($e);
}
?>

其他没啥说的了,个人理解的概念是:异常不是错误,只是程序运行产生了超出预想范畴时,用异常。

级别为:

halt(die,exit)->error(trigger_error)->exception(Exception)