Functions for logging and printing exceptions
type visibility = | Exn_user | (** always add to error log *) |
| Exn_developer | (** only add to error log in developer mode *) |
| Exn_system | (** never add to error log *) |
visibility of the exception
include sig ... endval compare_visibility : visibility ‑> visibility ‑> intval equal_visibility : visibility ‑> visibility ‑> boolval string_of_visibility : visibility ‑> stringtype severity = | High | (** high severity bug *) |
| Medium | (** medium severity bug *) |
| Low | (** low severity bug *) |
severity of bugs
exception Abduction_case_not_implemented of InferBase.Logging.ocaml_posexception Analysis_stops of Localise.error_desc * InferBase.Logging.ocaml_pos optionexception Array_of_pointsto of InferBase.Logging.ocaml_posexception Array_out_of_bounds_l1 of Localise.error_desc * InferBase.Logging.ocaml_posexception Array_out_of_bounds_l2 of Localise.error_desc * InferBase.Logging.ocaml_posexception Array_out_of_bounds_l3 of Localise.error_desc * InferBase.Logging.ocaml_posexception Bad_footprint of InferBase.Logging.ocaml_posexception Cannot_star of InferBase.Logging.ocaml_posexception Class_cast_exception of Localise.error_desc * InferBase.Logging.ocaml_posexception Codequery of Localise.error_descexception Comparing_floats_for_equality of Localise.error_desc * InferBase.Logging.ocaml_posexception Condition_always_true_false of Localise.error_desc * bool * InferBase.Logging.ocaml_posexception Custom_error of string * Localise.error_descexception Dummy_exception of Localise.error_descexception Dangling_pointer_dereference of PredSymb.dangling_kind option * Localise.error_desc * InferBase.Logging.ocaml_posexception Deallocate_stack_variable of Localise.error_descexception Deallocate_static_memory of Localise.error_descexception Deallocation_mismatch of Localise.error_desc * InferBase.Logging.ocaml_posexception Double_lock of Localise.error_desc * InferBase.Logging.ocaml_posexception Divide_by_zero of Localise.error_desc * InferBase.Logging.ocaml_posexception Field_not_null_checked of Localise.error_desc * InferBase.Logging.ocaml_posexception Empty_vector_access of Localise.error_desc * InferBase.Logging.ocaml_posexception Eradicate of InferBase.IssueType.t * Localise.error_descexception Checkers of InferBase.IssueType.t * Localise.error_descexception Frontend_warning of string * string option * Localise.error_desc * InferBase.Logging.ocaml_posexception Inherently_dangerous_function of Localise.error_descexception Internal_error of Localise.error_descexception Java_runtime_exception of Typ.Name.t * string * Localise.error_descexception Leak of bool * Sil.hpred * visibility * Localise.error_desc * bool * PredSymb.resource * InferBase.Logging.ocaml_posexception Missing_fld of Typ.Fieldname.t * InferBase.Logging.ocaml_posexception Premature_nil_termination of Localise.error_desc * InferBase.Logging.ocaml_posexception Null_dereference of Localise.error_desc * InferBase.Logging.ocaml_posexception Null_test_after_dereference of Localise.error_desc * InferBase.Logging.ocaml_posexception Parameter_not_null_checked of Localise.error_desc * InferBase.Logging.ocaml_posexception Pointer_size_mismatch of Localise.error_desc * InferBase.Logging.ocaml_posexception Precondition_not_found of Localise.error_desc * InferBase.Logging.ocaml_posexception Precondition_not_met of Localise.error_desc * InferBase.Logging.ocaml_posexception Retain_cycle of Localise.error_desc * InferBase.Logging.ocaml_posexception Registered_observer_being_deallocated of Localise.error_desc * InferBase.Logging.ocaml_posexception Return_expression_required of Localise.error_desc * InferBase.Logging.ocaml_posexception Return_statement_missing of Localise.error_desc * InferBase.Logging.ocaml_posexception Return_value_ignored of Localise.error_desc * InferBase.Logging.ocaml_posexception Skip_function of Localise.error_descexception Skip_pointer_dereference of Localise.error_desc * InferBase.Logging.ocaml_posexception Stack_variable_address_escape of Localise.error_desc * InferBase.Logging.ocaml_posexception Symexec_memory_error of InferBase.Logging.ocaml_posexception Unary_minus_applied_to_unsigned_expression of Localise.error_desc * InferBase.Logging.ocaml_posexception Unreachable_code_after of Localise.error_desc * InferBase.Logging.ocaml_posexception Unsafe_guarded_by_access of Localise.error_desc * InferBase.Logging.ocaml_posexception Use_after_free of Localise.error_desc * InferBase.Logging.ocaml_posexception Wrong_argument_number of InferBase.Logging.ocaml_posval handle_exception : exn ‑> boolReturn true if the exception is not serious and should be handled in timeout mode
val print_exception_html : string ‑> exn ‑> unitprint a description of the exception to the html output
val pp_err : node_key:InferStdlib.IStd.Caml.Digest.t ‑> InferBase.Location.t ‑> err_kind ‑> InferBase.IssueType.t ‑> Localise.error_desc ‑> InferBase.Logging.ocaml_pos option ‑> Format.formatter ‑> unit ‑> unitpretty print an error
type t = {name : InferBase.IssueType.t; | |
description : Localise.error_desc; | |
ocaml_pos : InferBase.Logging.ocaml_pos option; | (** location in the infer source code *) |
visibility : visibility; | |
severity : severity; | |
kind : err_kind option; | |
category : err_class; |
}val recognize_exception : exn ‑> t