getPrevious()) { printf("\tPrevious #%d: %s\n", ++$i, $e->getMessage()); } } function main() { printf("main() starting\n"); try { printf("Calling foo()\n"); foo(); printf("After foo()\n"); } catch (Exception $e) { printf("Caught %s in main()\n", $e->getMessage()); printPreviousExceptions($e); } printf("main() ending\n"); } printf("Calling main()\n"); main(); printf("Returned from main(), exiting\n");