[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Eijiro Sumii <eijiro.sumii@g...> |
| Subject: | line number in exception history? |
Hi,
(Sorry if this is a FAQ - I searched a little and couldn't find the answer.)
A student in Tokyo (_not_ CS major!) reported a "problem" (see below)
of ocaml in his blog. I guess it is because the line/character
numbers point to the _head_ of the expression that _follows_ where the
exception went through. Is this a feature or a bug?
Thanks,
Eijiro
> cat main.ml
let () =
let ret = Bar.barFunction (-10) in
print_int (ret + 100)
> cat foo.ml
let fooFunction x =
if x > 0 then x - 1
else raise (invalid_arg "Give me positive!")
> cat bar.ml
let barFunction x =
let y = x + 1 in
Foo.fooFunction y
> cat main.ml
let () =
let ret = Bar.barFunction (-10) in
print_int (ret + 100)
> cat bar.ml
let barFunction x =
let y = x + 1 in
Foo.fooFunction y
> cat foo.ml
let fooFunction x =
if x > 0 then x - 1
else raise (invalid_arg "Give me positive!")
> ocamlc -g foo.ml bar.ml main.ml -o test
> env OCAMLRUNPARAM=b ./test
Fatal error: exception Invalid_argument("Give me positive!")
Raised at file "pervasives.ml", line 22, character 17
Re-raised at file "foo.ml", line 3, character 46
Called from file "main.ml", line 3, character 2