Core Dagster error classes.
All errors thrown by the Dagster framework inherit from DagsterError
. Users
should not subclass this base class for their own exceptions.
There is another exception base class, DagsterUserCodeExecutionError
, which is
used by the framework in concert with the user_code_error_boundary()
.
Dagster uses this construct to wrap user code into which it calls. User code can perform arbitrary
computations and may itself throw exceptions. The error boundary catches these user code-generated
exceptions, and then reraises them wrapped in a subclass of
DagsterUserCodeExecutionError
.
The wrapped exceptions include additional context for the original exceptions, injected by the Dagster runtime.
Base class for all errors thrown by the Dagster framework.
Users should not subclass this base class for their own exceptions.
Returns true if this error is attributable to user code.
Indicates that an unexpected error occurred while executing the body of a config mapping
function defined in a JobDefinition
or ~dagster.GraphDefinition during
config parsing.
Raised when the event logs for a historical run are malformed or invalid.
Indicates an error occurred while executing the body of an execution step.
Thrown when the user specifies execution step keys that do not exist.
Thrown when provided config is invalid (does not type check against the relevant config schema).
Indicates that you have attempted to construct a config with an invalid value
(python:int
, python:float
, python:bool
,
python:str
, or python:list
).
Int
, Float
,Bool
, String
,
StringSource
, Any
,
Array
, Noneable
, Enum
,
Selector
, Shape
, or
Permissive
.
Shape
. Values of the dictionary are resolved recursively
according to the same rules.
Becomes Array
with list element as an argument.
An instance of Field
.
Indicates that the rules for a definition have been violated by the user.
Indicates that a subset of a pipeline is invalid because either: - One or more ops in the specified subset do not exist on the job.’ - The subset produces an invalid job.
Indicates the user has violated a well-defined invariant that can only be enforced at runtime.
Indicates an error occurred while executing the body of the resource_fn
in a
ResourceDefinition
during resource initialization.
Thrown when a run cannot be found in run storage.
Indicates that previous step outputs required for an execution step to proceed are not available.
An exception has occurred in one or more of the child processes dagster manages. This error forwards the message and stack trace for all of the collected errors.
Indicates that a type check failed.
This is raised when raise_on_error
is True
in calls to the synchronous job and
graph execution APIs (e.g. graph.execute_in_process(), job.execute_in_process() – typically
within a test), and a DagsterType
’s type check fails by returning either
False
or an instance of TypeCheck
whose success
member is False
.
Indicates an error in the op type system at runtime. E.g. a op receives an unexpected input, or produces an output that does not match the type of the output definition.
Indicates that an unknown resource was accessed in the body of an execution step. May often happen by accessing a resource in the compute function of an op without first supplying the op with the correct required_resource_keys argument.
Indicates the resolved executor is incompatible with the state of other systems
such as the DagsterInstance
or system storage configuration.
This is the base class for any exception that is meant to wrap an
python:Exception
thrown by user code. It wraps that existing user code.
The original_exc_info
argument to the constructor is meant to be a tuple of the type
returned by sys.exc_info
at the call site of the constructor.
Users should not subclass this base class for their own exceptions and should instead throw freely from user code. User exceptions will be automatically wrapped and rethrown.
Returns true if this error is attributable to user code.