Mercurial > projects > ldc
comparison runtime/internal/dmain2.d @ 645:bb8d73e29324
Adjust dmain catch to print exception trace info.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 04 Oct 2008 13:35:27 +0200 |
parents | 68be7408a0db |
children | 51c4d1a64da6 |
comparison
equal
deleted
inserted
replaced
644:49466efd4fba | 645:bb8d73e29324 |
---|---|
231 { | 231 { |
232 while (e) | 232 while (e) |
233 { | 233 { |
234 if (e.file) | 234 if (e.file) |
235 { | 235 { |
236 debug(PRINTF) printf("%.*s(%u): %.*s\n", e.file.length, e.file.ptr, e.line, e.msg.length, e.msg.ptr); | 236 // fprintf(stderr, "%.*s(%u): %.*s\n", e.file, e.line, e.msg); |
237 console (e.classinfo.name)("@")(e.file)("(")(e.line)("): ")(e.msg)("\n"); | 237 console (e.classinfo.name)("@")(e.file)("(")(e.line)("): ")(e.toString)("\n"); |
238 } | 238 } |
239 else | 239 else |
240 { | 240 { |
241 // debug(PRINTF) printf("%.*s\n", e.toString()); | 241 // fprintf(stderr, "%.*s\n", e.toString()); |
242 console (e.classinfo.name)(": ")(e.toString)("\n"); | 242 console (e.classinfo.name)(": ")(e.toString)("\n"); |
243 } | 243 } |
244 if (e.info) | |
245 { | |
246 console ("----------------\n"); | |
247 foreach (t; e.info) | |
248 console (t)("\n"); | |
249 } | |
250 if (e.next) | |
251 console ("\n"); | |
244 e = e.next; | 252 e = e.next; |
245 } | 253 } |
246 result = EXIT_FAILURE; | 254 result = EXIT_FAILURE; |
247 } | 255 } |
248 catch (Object o) | 256 catch (Object o) |