From 35f6672bb69d173f0f767b30f644766492a07955 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Sat, 4 Oct 2008 13:35:27 +0200 Subject: [PATCH] Adjust dmain catch to print exception trace info. --- runtime/internal/dmain2.d | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/runtime/internal/dmain2.d b/runtime/internal/dmain2.d index a69130c5..c06b9ce5 100644 --- a/runtime/internal/dmain2.d +++ b/runtime/internal/dmain2.d @@ -233,14 +233,22 @@ extern (C) int main(int argc, char **argv, char** env) { if (e.file) { - debug(PRINTF) printf("%.*s(%u): %.*s\n", e.file.length, e.file.ptr, e.line, e.msg.length, e.msg.ptr); - console (e.classinfo.name)("@")(e.file)("(")(e.line)("): ")(e.msg)("\n"); + // fprintf(stderr, "%.*s(%u): %.*s\n", e.file, e.line, e.msg); + console (e.classinfo.name)("@")(e.file)("(")(e.line)("): ")(e.toString)("\n"); } else { - // debug(PRINTF) printf("%.*s\n", e.toString()); + // fprintf(stderr, "%.*s\n", e.toString()); console (e.classinfo.name)(": ")(e.toString)("\n"); } + if (e.info) + { + console ("----------------\n"); + foreach (t; e.info) + console (t)("\n"); + } + if (e.next) + console ("\n"); e = e.next; } result = EXIT_FAILURE;