| Anterior | Siguiente |
| EDOM | EDEADLK |
ERANGE
Qué significa ERANGE
ERANGE suele indicar que una operación tiene sentido, pero su resultado no puede representarse en el rango disponible. Las funciones matemáticas pueden usarlo para overflow y underflow; ciertas interfaces también lo emplean para errores de polo cuyo resultado matemático tiende a infinito.
No se limita al punto flotante. Una conversión como strtol() puede devolver un valor límite y establecer ERANGE cuando el número de entrada desborda el tipo. Mirar solo el valor devuelto no permite distinguir siempre entre un valor límite válido y un fallo de conversión.
Qué comprobar
- Para conversiones enteras, inicializa
errnosegún exige la API, conserva el puntero de fin y evalúa ambos resultados. - En funciones matemáticas, comprueba también las excepciones de punto flotante cuando el contrato de la plataforma las use.
- Decide explícitamente si rechazar la entrada, usar un tipo más ancho, escalar el valor o aplicar una saturación documentada.
- No confundas
ERANGEconEDOM: uno describe principalmente un resultado no representable y el otro una entrada fuera del dominio.
Referencias técnicas
- Manual de Linux: math_error(7)
- Manual de Linux: strtol(3)
- Manual de Linux: log(3)
- Manual de Linux: pow(3)
¿Buscas un código diferente? Buscar otro código de estado o error.