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


function a() {
try {
throw new Exception('dsads');
} catch (Exception $e) {
return 'b';
} finally {
echo 'c';

echo a();

Then the output is


Than mean even return 'b'; runs, the finally code must be runned before function result passes out.