Considerare questi due esempiQual è la parola chiave `finally` per in PHP?
<?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
?>
e
<?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
?>
Qual è la differenza? C'è una situazione in cui il primo esempio non eseguirà some_code()
, ma il secondo sarebbe? Mi manca completamente il punto?
'codice all'interno del blocco finally verrà sempre eseguita dopo i blocchi try e catch, indipendentemente dal fatto che l'eccezione è stato gettato, e prima che la normale esecuzione resumes.' –
Penso che questo è legato a questa discussione: http://stackoverflow.com/questions/15031515/can-i-use-try-catch-finally-like-this – JunM
Solo per salvare chiunque altro copia-incolla dal manuale PHP, ho letto che ma non capire la differenza tra questi due esempi, altrimenti non avrei fatto la domanda. – marxjohnson