information for exceptions

Boriss Mejias boris.mejias at uclouvain.be
Thu Jan 26 15:12:50 CET 2006


Dear Hackers

I was wondering about the difference between exceptions raised by 
dictionaries and arrays. I'm looking at the code of the builtins, and 
exceptions raised by arrays due to out-of-range indexes are built as 
follows (look at platform/emulator/builtins.cc lines 402 and 424):

oz_raise(E_ERROR,E_KERNEL,"array",2,array,index);

but dictionaries used a different flag (look at 
platform/mulator/dictionaries.cc lines 611 and 643):

oz_raise(E_SYSTEM,E_KERNEL,"dict",2,d,k);

My question is: Why does dictionaries need E_SYSTEM flag instead of 
E_ERROR??

The only difference I see in function oz_raise, is that if the flag is 
not equal to E_ERROR, it adds some debug information: ozconf.errorDebug, 
this is in file platform/emulator/builtins.cc line 4521

just curious

Cheers
Boriss




More information about the mozart-hackers mailing list