Module IBase.Die

exception InferExternalError of string
exception InferInternalError of string
exception InferUserError of string
exception InferExit of int

This can be used to avoid scattering exit invocations all over the codebase

type error =
  1. | ExternalError
  2. | InternalError
  3. | UserError

kind of error for die, with similar semantics as Logging.{external,internal,user}_error

val exit : int -> 'a
val exit_code_of_exception : IStdlib.IStd.Exn.t -> int
val set_log_uncaught_exception_callback : (exn -> exitcode:int -> unit) -> unit
val log_uncaught_exception : exn -> exitcode:int -> unit
val die : error -> ('a, Stdlib.Format.formatter, unit, _) IStdlib.IStd.format4 -> 'a

Raise the corresponding exception.

val raise_error : ?backtrace:IStdlib.IStd.Caml.Printexc.raw_backtrace -> error -> msg:string -> 'a
type style =
  1. | Error
  2. | Fatal
  3. | Normal
  4. | Warning
val term_styles_of_style : style -> IStdlib.IStd.ANSITerminal.style list