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.