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 ... end
val compare_visibility : visibility ‑> visibility ‑> int
val equal_visibility : visibility ‑> visibility ‑> bool
val string_of_visibility : visibility ‑> string
type 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_pos
exception
Analysis_stops of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos option
exception
Array_of_pointsto of InferBase.Logging.ocaml_pos
exception
Array_out_of_bounds_l1 of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Array_out_of_bounds_l2 of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Array_out_of_bounds_l3 of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Bad_footprint of InferBase.Logging.ocaml_pos
exception
Cannot_star of InferBase.Logging.ocaml_pos
exception
Class_cast_exception of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Codequery of InferIR.Localise.error_desc
exception
Comparing_floats_for_equality of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Condition_always_true_false of InferIR.Localise.error_desc * bool * InferBase.Logging.ocaml_pos
exception
Custom_error of string * InferIR.Localise.error_desc
exception
Dummy_exception of InferIR.Localise.error_desc
exception
Dangling_pointer_dereference of InferIR.PredSymb.dangling_kind option * InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Deallocate_stack_variable of InferIR.Localise.error_desc
exception
Deallocate_static_memory of InferIR.Localise.error_desc
exception
Deallocation_mismatch of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Double_lock of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Divide_by_zero of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Field_not_null_checked of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Empty_vector_access of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Eradicate of InferBase.IssueType.t * InferIR.Localise.error_desc
exception
Checkers of InferBase.IssueType.t * InferIR.Localise.error_desc
exception
Frontend_warning of string * string option * InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Inherently_dangerous_function of InferIR.Localise.error_desc
exception
Internal_error of InferIR.Localise.error_desc
exception
Java_runtime_exception of InferIR.Typ.Name.t * string * InferIR.Localise.error_desc
exception
Leak of bool * InferIR.Sil.hpred * visibility * InferIR.Localise.error_desc * bool * InferIR.PredSymb.resource * InferBase.Logging.ocaml_pos
exception
Missing_fld of InferIR.Typ.Fieldname.t * InferBase.Logging.ocaml_pos
exception
Premature_nil_termination of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Null_dereference of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Null_test_after_dereference of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Parameter_not_null_checked of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Pointer_size_mismatch of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Precondition_not_found of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Precondition_not_met of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Retain_cycle of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Registered_observer_being_deallocated of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Return_expression_required of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Return_statement_missing of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Return_value_ignored of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Skip_function of InferIR.Localise.error_desc
exception
Skip_pointer_dereference of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Stack_variable_address_escape of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Symexec_memory_error of InferBase.Logging.ocaml_pos
exception
Unary_minus_applied_to_unsigned_expression of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Unreachable_code_after of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Unsafe_guarded_by_access of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Use_after_free of InferIR.Localise.error_desc * InferBase.Logging.ocaml_pos
exception
Wrong_argument_number of InferBase.Logging.ocaml_pos
val handle_exception : exn ‑> bool
Return true if the exception is not serious and should be handled in timeout mode
val print_exception_html : string ‑> exn ‑> unit
print 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 ‑> InferIR.Localise.error_desc ‑> InferBase.Logging.ocaml_pos option ‑> Format.formatter ‑> unit ‑> unit
pretty print an error
type t
=
{
name : InferBase.IssueType.t; | |
description : InferIR.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