Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] String of '_' (any) exception?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Luc Maranget <luc.maranget@i...>
Subject: Re: [Caml-list] String of '_' (any) exception?
> 
> Hello,
> 
> does it exist a way to get hold of a the string (if any) associated
> with an exception, when the exception has been caught with the "_"
> (any) exception?  What I am interested in is to get hold of the
> information which the run-time normally prints when it exits.
> 
> let _ = List.nth [4; 5] 4
> 
> itherther [14] [08:30] [~] ./a.out 
> Fatal error: exception Failure("nth")
> 
> I want to get the string produced, or the information needed to
> produce it myself.
> 
> The intended usage for this is in a RPC server library, where the
> application raise some exception.  It would be convenient to re-raise
> this as an remote exception, or at least report it back to the client.
> 
> 
> Kindest regards,

Hello,

Have a look at the Printexc module
<http://caml.inria.fr/ocaml/htmlman/libref/Printexc.html>

As far as I understand your needs, you can write

try
  ...
with e ->
  Printf.printf "Exception: %s\n" (Printexc.to_string e) ;
  raise e

Notice that the << _ >> pattern is changed into a (binding) variable.


Cheers,

> 
> Hans Ole Rafaelsen
> -------------------

--Luc
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners