以一种原生的中文方式来解释,PHP的异常

PHP的异常,尤其是finally按照预期正常运行。
真棒。

$ php -v
PHP 5.6.29 (cli) (built: Dec  9 2016 07:03:56)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
<?php
error_reporting( -1 ) ;

echo call_user_func( function ($human) {
    try{
        throw new Exception('( ゚∀゚)') ; // (1)
    }
    catch ( \Exception $e ) {
        echo $e->getMessage() ; // (2)
        return '(゚∀゚ )' ; // (4)
    }
    finally {
        echo $human ; // (3)
    }
}, '人') . PHP_EOL ;

//=> ( ゚∀゚)人(゚∀゚ )

参考和注释

    • PHPとPythonのfinallyとexitの関係の違い – Qiita

 

    例外(exceptions)
从 PHP 5.5 开始,catch 代码块后面可以加上 finally 代码块。在 finally 代码块中编写的代码会在 try 和 catch 代码块之后始终执行,不管是否抛出了异常。
广告
将在 10 秒后关闭
bannerAds