Source code for tt.errors.arguments
"""Generic exception types."""
from .base import TtError
[docs]class ArgumentError(TtError):
"""An exception type for invalid arguments. This exception type should be
sub-classed and is not meant to be raised explicitly.
"""
[docs]class ConflictingArgumentsError(ArgumentError):
"""An exception type for two or more conflicting arguments.
This error type can be seen in action by passing both an expression and a
set of values to the :class:`TruthTable <tt.tables.truth_table.TruthTable>`
class::
>>> from tt import TruthTable
>>> t = TruthTable('A or B', from_values='1111')
Traceback (most recent call last):
...
tt.errors.arguments.ConflictingArgumentsError: `expr` and \
`from_values` are mutually exclusive arguments
"""
[docs]class InvalidArgumentTypeError(ArgumentError):
"""An exception type for invalid argument types.
To illustrate this error type, let's try passing an invalid argument when
creating a :class:`TruthTable <tt.tables.truth_table.TruthTable>`::
>>> from tt import TruthTable
>>> t = TruthTable(7)
Traceback (most recent call last):
...
tt.errors.arguments.InvalidArgumentTypeError: Arg `expr` must be of \
type `str` or `BooleanExpression`
"""
[docs]class InvalidArgumentValueError(ArgumentError):
"""An exception type for invalid argument values.
Here's an example where we pass a non-power of 2 number of values when
attempting to create a :class:`TruthTable \
<tt.tables.truth_table.TruthTable>`::
>>> from tt import TruthTable
>>> t = TruthTable(from_values='01x')
Traceback (most recent call last):
...
tt.errors.arguments.InvalidArgumentValueError: Must specify a number \
of input values that is a power of 2
"""
[docs]class RequiredArgumentError(ArgumentError):
"""An exception for when a required argument is missing.
Let's try an example where we omit all arguments when attempting to make
a new :class:`TruthTable <tt.tables.truth_table.TruthTable>` object::
>>> from tt import TruthTable
>>> t = TruthTable()
Traceback (most recent call last):
...
tt.errors.arguments.RequiredArgumentError: Must specify either `expr` \
or `from_values`
"""