t :: {RuntimeError, term, String.t}
options :: [__exception__: term, message: String.t] | [{String.t, term}]