Files
edx-platform/xmodule/capa/errors.py
Irtaza Akram 1945b12769 Autoformat Problem XBlock Source Files for Consistency (1/2) (#37476)
* fix: run formatter black and isort

* fix: linting, pydocstyle, xsslint and security issues
2025-12-05 18:31:45 +05:00

63 lines
1.6 KiB
Python

# errors.py
"""
Custom error handling for the XQueue submission interface.
"""
class XQueueSubmissionError(Exception):
"""Base class for all XQueue submission errors."""
class JSONParsingError(XQueueSubmissionError):
"""Raised when JSON parsing fails."""
MESSAGE = "Error parsing {name}: {error}"
def __init__(self, name, error):
super().__init__(self.MESSAGE.format(name=name, error=error))
class MissingKeyError(XQueueSubmissionError):
"""Raised when a required key is missing."""
MESSAGE = "Missing key: {key}"
def __init__(self, key):
super().__init__(self.MESSAGE.format(key=key))
class ValidationError(XQueueSubmissionError):
"""Raised when a validation check fails."""
MESSAGE = "Validation error: {error}"
def __init__(self, error):
super().__init__(self.MESSAGE.format(error=error))
class TypeErrorSubmission(XQueueSubmissionError):
"""Raised when an invalid type is encountered."""
MESSAGE = "Type error: {error}"
def __init__(self, error):
super().__init__(self.MESSAGE.format(error=error))
class RuntimeErrorSubmission(XQueueSubmissionError):
"""Raised for runtime errors."""
MESSAGE = "Runtime error: {error}"
def __init__(self, error):
super().__init__(self.MESSAGE.format(error=error))
class GetSubmissionParamsError(XQueueSubmissionError):
"""Raised when there is an issue getting submission parameters."""
MESSAGE = "Submission parameters error: {error}"
def __init__(self, error="Block instance is not defined!"):
super().__init__(self.MESSAGE.format(error=error))