typestar

Excepciones en OCaml

Declaradas como variantes, atrapadas por patrón.

(* Exceptions declare like variants; try/with catches by pattern. *)
exception Pool_closed of string

let open_pool name =
  if name = "cove" then raise (Pool_closed "nesting birds")
  else name ^ " open for sampling"

let attempt name =
  try open_pool name with
  | Pool_closed reason -> name ^ " skipped: " ^ reason

let () =
  print_endline (attempt "north");
  print_endline (attempt "cove");
  (* Failure is the stock exception failwith raises. *)
  (try failwith "tide turned" with
   | Failure msg -> Printf.printf "Called off: %s\n" msg)

Cómo funciona

  1. exception Pool_closed of string declara con carga.
  2. try ... with | Pool_closed reason -> atrapa por forma.
  3. failwith lanza la excepción Failure de fábrica.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
527
Tokens
92
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 85 segundos.

Escribe este fragmento

Paso 2 de 3 en Idiomas del lenguaje; paso 25 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →