_get_exc_class_and_code() — flask Function Reference
Architecture documentation for the _get_exc_class_and_code() function in scaffold.py from the flask codebase.
Entity Profile
Dependency Diagram
graph TD 3b660c5d_ab73_8e46_a1e8_f86033a43906["_get_exc_class_and_code()"] a813bd5c_bf41_d926_8dde_6a113d5e0018["Scaffold"] 3b660c5d_ab73_8e46_a1e8_f86033a43906 -->|defined in| a813bd5c_bf41_d926_8dde_6a113d5e0018 ee25cbe7_f849_f0aa_f045_a06792ee042e["_find_error_handler()"] ee25cbe7_f849_f0aa_f045_a06792ee042e -->|calls| 3b660c5d_ab73_8e46_a1e8_f86033a43906 eba08275_fc06_f17e_1fee_04ddb9a4e448["register_error_handler()"] eba08275_fc06_f17e_1fee_04ddb9a4e448 -->|calls| 3b660c5d_ab73_8e46_a1e8_f86033a43906 style 3b660c5d_ab73_8e46_a1e8_f86033a43906 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
src/flask/sansio/scaffold.py lines 657–698
def _get_exc_class_and_code(
exc_class_or_code: type[Exception] | int,
) -> tuple[type[Exception], int | None]:
"""Get the exception class being handled. For HTTP status codes
or ``HTTPException`` subclasses, return both the exception and
status code.
:param exc_class_or_code: Any exception class, or an HTTP status
code as an integer.
"""
exc_class: type[Exception]
if isinstance(exc_class_or_code, int):
try:
exc_class = default_exceptions[exc_class_or_code]
except KeyError:
raise ValueError(
f"'{exc_class_or_code}' is not a recognized HTTP"
" error code. Use a subclass of HTTPException with"
" that code instead."
) from None
else:
exc_class = exc_class_or_code
if isinstance(exc_class, Exception):
raise TypeError(
f"{exc_class!r} is an instance, not a class. Handlers"
" can only be registered for Exception classes or HTTP"
" error codes."
)
if not issubclass(exc_class, Exception):
raise ValueError(
f"'{exc_class.__name__}' is not a subclass of Exception."
" Handlers can only be registered for Exception classes"
" or HTTP error codes."
)
if issubclass(exc_class, HTTPException):
return exc_class, exc_class.code
else:
return exc_class, None
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does _get_exc_class_and_code() do?
_get_exc_class_and_code() is a function in the flask codebase, defined in src/flask/sansio/scaffold.py.
Where is _get_exc_class_and_code() defined?
_get_exc_class_and_code() is defined in src/flask/sansio/scaffold.py at line 657.
What calls _get_exc_class_and_code()?
_get_exc_class_and_code() is called by 2 function(s): _find_error_handler, register_error_handler.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free