Uncaught exception ‘Exception’

И это в конструкции вида

try {
	throw new Exception();
} catch (Exception $e) {

}

Так вышло из-за действия namespace, в catch скрипт пытается отловить исключение класса \ТекущийNamespace\Exception невзирая на то, что такого класса не существует в природе, проверка на него все-таки производится.
И при выбросе стандартного исключения и при его отлове лучше всегда явно указывать нужное namespace.

try {
	throw new \Exception();
} catch (\Exception $e) {

}