You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 2501 Reporter: administrator Status: closed Resolution: not a bug Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
Bug description
Hi,
using the latest CVS-release, the following program behaves differently
when interpreted with "ocaml" or when compiled (byte- or native code):
using the latest CVS-release, the following program behaves differently
when interpreted with "ocaml" or when compiled (byte- or native code):
exception E of char
let _ = raise (E 'a')
The interpreter prints:
Exception: E 'a'.
Running the compiled program yields:
Fatal error: exception Foo.E(97)
This behavior has been there for quite a while. The toplevel has
access to typing information, and therefore can print the exception
value correctly. The "Fatal error" message of the run-time system
has access only to the machine representations of the arguments to the
exceptions, and thus cannot print them accurately, e.g. it can't
distinguish an integer from a character. I know it's a bit
surprising, but sometimes this behavior of the run-time system is more
helpful than not printing exception arguments at all.
Original bug ID: 2501
Reporter: administrator
Status: closed
Resolution: not a bug
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Hi,
using the latest CVS-release, the following program behaves differently
when interpreted with "ocaml" or when compiled (byte- or native code):
exception E of char
let _ = raise (E 'a')
The interpreter prints:
Exception: E 'a'.
Running the compiled program yields:
Fatal error: exception Foo.E(97)
Regards,
Markus
--
Markus Mottl http://www.oefai.at/~markus markus@oefai.at
The text was updated successfully, but these errors were encountered: