考慮這兩個例子什麼是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