Excepciones

Módulo: digi3d

Estos tipos permiten informar de errores y advertencias en los controles de calidad. La función de control de calidad devuelve con return una instancia de estos tipos o una lista de instancias para indicar que la geometría que se está analizando tiene un problema. Los tipos de error y advertencia no derivan de BaseException, así que raise no admite instancias de estos tipos.

GeometryError

Error detectado en la geometría que se está analizando.

GeometryError(message)
GeometryError(message, coordinates)
Argumento Tipo Descripción
message str Descripción del error.
coordinates tuple Coordenadas (x, y, z) del error (opcional).

GeometryRelationError

Error en la relación entre la geometría analizada y una o varias geometrías.

GeometryRelationError(otherGeometry, message)
GeometryRelationError(otherGeometry, message, coordinates)
GeometryRelationError(geometries, message)
GeometryRelationError(geometries, message, coordinates)
Argumento Tipo Descripción
otherGeometry Geometry La otra geometría implicada.
geometries list[Geometry] Varias geometrías implicadas.
message str Descripción del error.
coordinates tuple Coordenadas (x, y, z) del error (opcional).

GeometryWarning

Advertencia (no error) relacionada con la geometría que se está analizando.

GeometryWarning(message)
Argumento Tipo Descripción
message str Descripción de la advertencia.

DatabaseFieldError

Error en un campo de base de datos de un código de la geometría.

DatabaseFieldError(message, codeIndex, field)
Argumento Tipo Descripción
message str Descripción del error.
codeIndex int Índice del código afectado.
field str Nombre del campo afectado.

Ejemplo

import digi3d

@quality_control()
def debe_tener_coordenadas_z_crecientes_moderado(geometry, adding_geometry, code_index):
    'Comunica un error si se localiza un vértice cuya coordenada Z sea inferior a la coordenada Z del vértice anterior.'
    zPrevia = geometry[0][2]

    for coordenada in geometry:
        zActual = coordenada[2]

        if zActual < zPrevia:
            return digi3d.GeometryError("Vértice con la Z inferior al anterior", coordenada)

        zPrevia = zActual

Véase también