Exceptions
The cvc5 API communicates certain errors using exceptions. We broadly
distinguish two types of exceptions:
CVC5ApiException
and
CVC5ApiRecoverableException
(which is derived from
CVC5ApiException
).
If any method fails with a
CVC5ApiRecoverableException
, the solver behaves as if the failing
method was not called. The solver can still be used safely.
If, however, a method fails with a
CVC5ApiException
, the associated object may be in an unsafe state
and it should no longer be used.
-
class
cvc5
::
CVC5ApiException
:
public
exception
-
Base class for all API exceptions. If thrown, all API objects may be in an unsafe state.
Subclassed by cvc5::CVC5ApiRecoverableException
Public Functions
-
inline
CVC5ApiException
(
const
std
::
string
&
str
)
-
Construct with message from a string.
- Parameters
-
str – The error message.
-
inline
CVC5ApiException
(
const
std
::
stringstream
&
stream
)
-
Construct with message from a string stream.
- Parameters
-
stream – The error message.
-
inline
const
std
::
string
&
getMessage
(
)
const
-
Retrieve the message from this exception.
- Returns
-
The error message.
-
inline
const
char
*
what
(
)
const
noexcept
override
-
Retrieve the message as a C-style array.
- Returns
-
The error message.
-
inline
CVC5ApiException
(
const
std
::
string
&
str
)
-
class
cvc5
::
CVC5ApiRecoverableException
:
public
cvc5
::
CVC5ApiException
-
A recoverable API exception. If thrown, API objects can still be used.
Subclassed by cvc5::CVC5ApiOptionException, cvc5::CVC5ApiUnsupportedException
Public Functions
-
inline
CVC5ApiRecoverableException
(
const
std
::
string
&
str
)
-
Construct with message from a string.
- Parameters
-
str – The error message.
-
inline
CVC5ApiRecoverableException
(
const
std
::
stringstream
&
stream
)
-
Construct with message from a string stream.
- Parameters
-
stream – The error message.
-
inline
CVC5ApiRecoverableException
(
const
std
::
string
&
str
)