2012-04-24 16 views
5

es la siguiente posible?Manejo de múltiples tipos de excepción en OCaml

try 
    (* danger zone *) 
with Not_found e -> 
    (* code to handle not found *) 
with t -> 
    (* code to handle all other issues *) 

si escribo que en el nivel superior, aparece un error de sintaxis en el segundo with. Tal vez hay alguna sintaxis que no conozco?

¿Es el método preferido para anteponer otra try para que coincida con cada with?

+0

Y qué te hace pensar que la sintaxis que se escribe debe trabajar? ¿Lo has visto en el código de otra persona? ¿O había tal ejemplo en el manual o en el tutorial? Adivinar no es una buena forma de aprender algo. – ygrek

Respuesta

5

with es una expresión match; no lo repite para varios patrones; en su lugar, usa | para separar cada patrón->expresión, como con un match.

13

La parte with es una serie de patrones, por lo que se puede escribir de la siguiente manera:

try 
    (* dangerous code area *) 
with 
    | Not_found -> (* Not found handling code *) 
    | t -> (* Handle other issues here *) 
Cuestiones relacionadas