# Module Exception_check

    module Exception_check: sig .. end

Code to test the effect of exceptions happening in strategic places in daemons.

In order to use this module one defines a list of (mnemonic, exception) pairs

E.G.

`("M.f: invalid arg", Invalid_argument "foo"); ("Z.f: sys error", Sys_error "bar"); ("R.z: failure", Failure "baz")`

And one passes this list to create. Then one places calls to Exception_check.maybe_raise <name>, in important parts of one's code. When the code is run, it will listen on `listen_port`, and one can connect with netcat and type a name, which will cause that exception to be raised on the next call to `Exception_check.maybe_raise`.

    val create : ?listen_port:int -> (string * exn) list -> unit

create should not be called more than once

    val maybe_raise : string list -> unit

`maybe_raise name` if the exception associated with any name in `name` has been triggered, then raise it, otherwise do nothing. Only the first exception in the list will be raised. This function is thread safe.