Junior
What can be passed to the exception constructor in Python?
sobes.tech AI
Answer from AI
In Python, the exception constructor can usually accept the following arguments:
- Message string: The most common way to pass an error description. This string will be accessible via the
args[0]attribute orstr(exc). - Tuple of arguments: An error message and/or additional data related to it. This tuple will be accessible via the
argsattribute of the exception. - Other exceptions: For exception chaining (raising an exception during the handling of another exception). The syntax used is
raise NewException from OriginalException.
Example with a message and a tuple:
# Passing a message string
raise ValueError("Invalid value")
# Passing a tuple with a message and additional data
raise MyCustomError("An error occurred", 123, {"detail": "additional info"})
Example with an exception chain:
try:
# Code that may raise an OSError
pass
except OSError as e:
# Raising a new exception referencing the original
raise RuntimeError("File system error") from e