以一种原生的中文方式来解释,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 代码块之后始终执行,不管是否抛出了异常。