We have to deal with exceptions every moment we touch PHP web development, and so please be carefully with running order of exception catching.
Here is an example
<?php
function a() {
try {
throw new Exception('dsads');
} catch (Exception $e) {
return 'b';
} finally {
echo 'c';
}
}
echo a();
Then the output is
cb
Than mean even return 'b';
runs, the finally code must be runned before function result passes out.