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