sig
  type t = java'lang'Error java_instance
  val make :
    ?cause:JavaError.t -> ?message:JavaString.t -> unit -> JavaError.t
  external throw : JavaError.t -> 'a = "java throw"
  val get_cause : JavaError.t -> java'lang'Throwable java_instance
  val get_message : JavaError.t -> JavaString.t
  val get_stack_trace :
    JavaError.t ->
    java'lang'StackTraceElement java_instance java_reference_array
  val print_stack_trace : JavaError.t -> unit
  val null : JavaError.t
  external is_null : JavaError.t -> bool = "java is_null"
  external is_not_null : JavaError.t -> bool = "java is_not_null"
  val wrap : JavaError.t -> JavaError.t option
  val unwrap : JavaError.t option -> JavaError.t
end