首页 > 学院 > 开发设计 > 正文

异常处理

2019-11-15 02:05:11
字体:
来源:转载
供稿:网友
异常处理 - php手册笔记

PHP代码中所产生的异常可被throw语句抛出,并被catch语句捕获。需要进行异常处理的代码都必须放入try代码块内,每一个try至少要有一个与之对应的catch。当一个异常被抛出时,所在代码块后面的代码将不会继续执行,此时PHP会尝试查找第一个能与之匹配的catch。当然,PHP允许在catch代码块内再次抛出throw异常。如果一个异常没有被捕获,且未使用set_exception_handler()作相应处理的话,PHP将会产生一个严重错误。

这里有一个关于异常使用的示例。

<?phpfunction inverse($x) {    if(!$x) {        throw new Exception('Division by zero.');    } else {        return 1 / $x;    }}try {    echo inverse(5) . '<br>';    echo inverse(0) . '<br>';} catch(Exception $e) {    echo 'Caught exception: ' . $e->getMessage() . '<br>';}echo 'hello';

还有一个异常嵌套的示例。

<?phpclass MyException extends Exception {}class Test {    public function testing() {        try {            try {                throw new MyException('foo.');            } catch(MyException $e) {                throw $e;            }        } catch(Exception $e) {            var_dump($e->getMessage());        }    }}$foo = new Test;$foo->testing();

用户可以用自定义的异常处理类来扩展PHP内置的异常处理类。

(全文完)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表