9 #ifndef CPROVER_UTIL_EXCEPTION_UTILS_H
10 #define CPROVER_UTIL_EXCEPTION_UTILS_H
30 virtual std::string
what()
const;
64 std::string
what()
const override;
96 template <
typename Diagnostic,
typename... Diagnostics>
99 Diagnostic &&diagnostic,
102 template <
typename... Diagnostics>
108 std::string
what()
const override;
116 template <
typename Diagnostic,
typename... Diagnostics>
119 Diagnostic &&diagnostic,
120 Diagnostics &&... diagnostics)
124 std::forward<Diagnostic>(diagnostic),
125 std::forward<Diagnostics>(diagnostics)...))
129 template <
typename... Diagnostics>
133 Diagnostics &&... diagnostics)
135 source_location(std::move(source_location)),
177 std::string
what()
const override;
Thrown when an unexpected error occurs during the analysis (e.g., when the SAT solver returns an erro...
analysis_exceptiont(std::string reason)
Base class for exceptions thrown in the cprover project.
virtual std::string what() const
A human readable description of what went wrong.
virtual ~cprover_exception_baset()=default
cprover_exception_baset(std::string reason)
This constructor is marked protected to ensure this class isn't used directly.
std::string reason
The reason this exception was generated.
Thrown when failing to deserialize a value from some low level format, like JSON or raw bytes.
deserialization_exceptiont(std::string message)
Thrown when a goto program that's being processed is in an invalid format, for example passing the wr...
source_locationt source_location
incorrect_goto_program_exceptiont(std::string message)
std::string what() const override
A human readable description of what went wrong.
Thrown when users pass incorrect command line arguments, for example passing no files to analysis or ...
invalid_command_line_argument_exceptiont(std::string reason, std::string option, std::string correct_input="")
std::string what() const override
A human readable description of what went wrong.
std::string correct_input
In case we have samples of correct input to the option.
std::string option
The full command line option (not the argument) that got erroneous input.
Thrown when we can't handle something in an input source file.
std::string what() const override
A human readable description of what went wrong.
const std::string & get_reason() const
const source_locationt & get_source_location() const
invalid_source_file_exceptiont(std::string reason, source_locationt source_location)
source_locationt source_location
Thrown when some external system fails unexpectedly.
system_exceptiont(std::string message)
Thrown when we encounter an instruction, parameters to an instruction etc.
unsupported_operation_exceptiont(std::string message)
message is the unsupported operation causing this fault to occur.
std::string assemble_diagnostics()