getTraceAsString()); } } function a() { return b(); } function b() { return c(); } function c() { $e = new Exception(); var_dump($e->getTraceAsString()); return new Ex4('hello, exception'); } function main3() { $e = a(); printf("Exception from %s:%d\n", $e->getFile(), $e->getLine()); var_dump($e->getTraceAsString()); $b = array(3); try { array_map("foo", $b); } catch (Ex3 $e) { print "caught 3\n"; throw $e; } } main3();