lo mejor es dar un aviso del error y dejarlo hasta ahi.
En entornos de producción a veces no es nisiquiera recomendable dar un error. O si se da un error no mostrar la salida de este a un usuario.
A veces es muy útil el feedback del usuario para determinar que paso mal, pero tampoco quieres que el usuario se de cuenta del funcionamiento interno del server.
He visto algunos casos en que se genera un "token" que representa la entrada del error, pero no te muestra ningun detalle del mismo. Así el usuario puede reportar el error al administrador, y con el token este puede determinar el origen sin necesidad de que el usuario se de cuenta que fue exactamente lo que lo genero.
En lenguajes que soportan capturas de excepciones esto es relativamente "facil" de hacer, en los lenguajes que no muchas veces o evitas codigo que genere errores logicos (bastante dificil de hacer y mantener) o simplemente no mostras errores.