Digamos que estoy usando varias funciones criptográficas de una biblioteca de terceros y esas funciones criptográficas nunca deberían fallar porque mi código, y no un usuario, está enviando todos los argumentos (búferes, tamaños, etc.) por lo que si el la función falla es debido a algún "error interno". Digamos que tengo una función rsa y una función hash, mi pregunta es:
Si esas funciones fallan, ¿debería mi código devolver el código de error internal_error
para ambas fallas? ¿O debería devolver rsa_internal_error
y hash_internal_error
respectivamente?
Devolver solo internal_error
revela que hay un error interno y no más, por lo que es más difícil de depurar si mi código puede devolver internal_error
desde varios lugares en una función.
Por otra parte, devolver un código de error específico para cada tipo de falla facilita la depuración, pero también revela más información al usuario.
¿Qué práctica es mejor?
¿Devolver códigos de error internos específicos puede ayudar a los atacantes en sus intentos de penetración?
EDITAR: este es un sistema integrado, por lo que somos baratos en los registros. Dado que este error no debería ocurrir (no depende de la entrada o algo así), generalmente no registramos esos errores.