考虑这两个例子什么是PHP中的`finally`关键字?
<?php
function throw_exception() {
// Arbitrary code here
throw new Exception('Hello, Joe!');
}
function some_code() {
// Arbitrary code here
}
try {
throw_exception();
} catch (Exception $e) {
echo $e->getMessage();
}
some_code();
// More arbitrary code
?>
和
<?php
function throw_exception() {
// Arbitrary code here
throw new Exception('Hello, Joe!');
}
function some_code() {
// Arbitrary code here
}
try {
throw_exception();
} catch (Exception $e) {
echo $e->getMessage();
} finally {
some_code();
}
// More arbitrary code
?>
有什么区别?有没有第一个例子不会执行some_code()
的情况,但第二个例子呢?我完全错过了这一点吗?
'代码中finally块将始终在try和catch块后,执行不管异常是否被抛出,并正常执行resumes.' –
之前,我认为这是对这个主题相关: http://stackoverflow.com/questions/15031515/can-i-use-try-catch-finally-like-this – JunM
只是为了保存任何其他人从PHP手册复制粘贴,我已阅读,但不了解这两个例子之间的区别,否则我不会问这个问题。 – marxjohnson