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.
If the
cvc5::parser::InputParser
encounters an error, it will
throw a
cvc5::parser::ParserException
.
If thrown, API objects can still be used
-
class
CVC5ApiException
:
public
exception
-
Base class for all API exceptions. If thrown, all API objects may be in an unsafe state.
Subclassed by cvc5::CVC5ApiRecoverableException , cvc5::parser::ParserException
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
virtual
void
toStream
(
std
::
ostream
&
os
)
const
-
Printing: feel free to redefine toStream() . When overridden in a derived class, it’s recommended that this method print the type of exception before the actual message.
-
inline
CVC5ApiException
(
const
std
::
string
&
str
)
-
class
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
)
-
class
ParserException
:
public
cvc5
::
CVC5ApiException
-
Base class for all Parser exceptions. If thrown, API objects can still be used
Subclassed by cvc5::parser::ParserEndOfFileException
Public Functions
-
ParserException
(
)
-
Default constructor
-
ParserException
(
const
std
::
string
&
msg
)
-
Construct with message from a string.
- Parameters :
-
msg – The error message.
-
ParserException
(
const
char
*
msg
)
-
Construct with message from a C string.
- Parameters :
-
msg – The error message.
-
ParserException
(
const
std
::
string
&
msg
,
const
std
::
string
&
filename
,
unsigned
long
line
,
unsigned
long
column
)
-
Construct with message from a string.
- Parameters :
-
-
msg – The error message.
-
filename – name of the file.
-
line – The error line number.
-
column – The error column number.
-
-
virtual
void
toStream
(
std
::
ostream
&
os
)
const
override
-
Print error to output stream.
- Parameters :
-
os – The output stream to write the error on.
-
std
::
string
getFilename
(
)
const
-
- Returns :
-
The file name.
-
unsigned
long
getLine
(
)
const
-
- Returns :
-
The line number of the parsing error.
-
unsigned
long
getColumn
(
)
const
-
- Returns :
-
The column number of the parsing error.
-
ParserException
(
)