zoukankan      html  css  js  c++  java
  • 异常处理

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

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

    <?php
    function 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';
    

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

    <?php
    class 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内置的异常处理类。

    (全文完)

  • 相关阅读:
    删除 SQL Server 2005 Express 工具
    静态和非静态
    C#中的托管和非托管
    类和结构的区别
    asp.net URL DES加密 什在URL中的使用
    正则替换图片路径
    Oracle 正则 一行转多行
    Oracle 存储过程
    HTTP SOAP Request
    jquery 高亮
  • 原文地址:https://www.cnblogs.com/sintune/p/php-exceptions.html
Copyright © 2011-2022 走看看