On Friday, 2 October 2015 at 11:44:21 UTC, steven kladitis wrote:
C:\d\examples>pb2
=>main's first line
=>makeOmelet's first line
=>prepareAll's first line
=>prepareEggs's first line
object.Exception@pb2.d(64): Cannot take -8 eggs from the fridge
----------------
0x00402252
0x0040512F
0x00405043
0x00403E48
0x7600338A in BaseThreadInitThunk
0x77A497F2 in RtlInitializeExceptionChain
0x77A497C5 in RtlInitializeExceptionChain
----- I always see the info at the bottom. Is this normal. I
was thinkig I should only the the exception message itself.
--- this is windows 7 32 bit.
The info at the bottom is the backtrace. Compiling with -g should
make it readable (with function names and such).
```
void bar(int i) {
if(i > 10)
throw new Exception("i is too large!!");
}
void main() {
bar(12);
}
```
dmd -g foo
object.Exception@foo.d(14): i is too large!!
----------------
0x00402055 in void foo.bar(int) at
C:\LearningD\Chapter05\foo.d(15)
0x00402065 in _Dmain at C:\LearningD\Chapter05\foo.d(19)
0x00402916 in
D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv
0x004028EB in void rt.dmain2._d_run_main(int, char**, extern (C)
int function(char[][])*).runAll()
0x004027FF in _d_run_main
0x004024F4 in main
0x00419F51 in mainCRTStartup
0x75803744 in BaseThreadInitThunk
0x770EA064 in RtlSetCurrentTransaction
0x770EA02F in RtlSetCurrentTransaction