コンテンツにスキップ

Errors

Pydantic固有のエラー

PydanticErrorMixin

PydanticErrorMixin(
    message: str, *, code: PydanticErrorCodes | None
)

すべてのPydantic固有のエラーによって共有される共通機能のためのミックスインクラス。

Attributes:

Name Type Description
message

エラーを説明するメッセージ。

code

PydanticErrorCodes列挙型からのオプションのエラーコード。

Source code in pydantic/errors.py
79
80
81
def __init__(self, message: str, *, code: PydanticErrorCodes | None) -> None:
    self.message = message
    self.code = code

PydanticUserError

PydanticUserError(
    message: str, *, code: PydanticErrorCodes | None
)

Bases: PydanticErrorMixin, TypeError

Pydanticの使用が正しくないために発生したエラーです。

Source code in pydantic/errors.py
79
80
81
def __init__(self, message: str, *, code: PydanticErrorCodes | None) -> None:
    self.message = message
    self.code = code

PydanticUndefinedAnnotation

PydanticUndefinedAnnotation(name: str, message: str)

Bases: PydanticErrorMixin, NameError

CoreSchemaの生成中に未定義の注釈を処理すると、NameErrorのサブクラスが発生します。

Attributes:

Name Type Description
name

エラーの名前。

message

エラーの説明。

Source code in pydantic/errors.py
102
103
104
def __init__(self, name: str, message: str) -> None:
    self.name = name
    super().__init__(message=message, code='undefined-annotation')

from_name_error classmethod

from_name_error(name_error: NameError) -> Self

NameErrorPydanticUndefinedAnnotationエラーに変換します。

Parameters:

Name Type Description Default
name_error NameError

NameErrorを変換します。

required

Returns:

Type Description
Self

PydanticUndefinedAnnotationエラーを変換しました。

Source code in pydantic/errors.py
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
@classmethod
def from_name_error(cls, name_error: NameError) -> Self:
    """`NameError`を`PydanticUndefinedAnnotation`エラーに変換します。

    Args:
        name_error: `NameError`を変換します。

    Returns:
        `PydanticUndefinedAnnotation`エラーを変換しました。
    """
    try:
        name = name_error.name  # type: ignore  # python > 3.10
    except AttributeError:
        name = re.search(r".*'(.+?)'", str(name_error)).group(1)  # type: ignore[union-attr]
    return cls(name=name, message=str(name_error))

PydanticImportError

PydanticImportError(message: str)

Bases: PydanticErrorMixin, ImportError

V1とV2の間でモジュールが変更されたためにインポートが失敗した場合に発生するエラー。

Attributes:

Name Type Description
message

エラーの説明。

Source code in pydantic/errors.py
130
131
def __init__(self, message: str) -> None:
    super().__init__(message, code='import-error')

PydanticSchemaGenerationError

PydanticSchemaGenerationError(message: str)

Bases: PydanticUserError

あるタイプのCoreSchemaの生成に失敗したときに発生したエラー。

Attributes:

Name Type Description
message

エラーの説明。

Source code in pydantic/errors.py
141
142
def __init__(self, message: str) -> None:
    super().__init__(message, code='schema-for-unknown-type')

PydanticInvalidForJsonSchema

PydanticInvalidForJsonSchema(message: str)

Bases: PydanticUserError

一部のCoreSchemaのJSONスキーマの生成に失敗したときに発生したエラー。

Attributes:

Name Type Description
message

エラーの説明。

Source code in pydantic/errors.py
152
153
def __init__(self, message: str) -> None:
    super().__init__(message, code='invalid-for-json-schema')