Red de conocimientos turísticos - Información de alquiler - ¿Por qué no se recomienda intentar capturar?

¿Por qué no se recomienda intentar capturar?

Diferentes idiomas tienen diferentes mecanismos de manejo de Try Catch, por lo que las respuestas también son diferentes.

Por ejemplo, C++ no recomienda el uso de try catch, pero recomienda usar la API de Windows tipo HResult para devolver condiciones de error, porque try catch agregará un costo adicional al código existente, y este costo adicional no solo se refleja cuando se lanza la excepción, sino también en cada línea de código dentro del bloque try catch. En el código fuente de Windows, no hay try catch, todas las operaciones se manejan a través de HResult.

Por ejemplo, en C#, se recomienda utilizar try catch. C# fue diseñado con las lecciones aprendidas de try catch de C++, por lo que el costo de empaquetar el código existente directamente con try catch es insignificante, pero si lanza una excepción durante la ejecución del código, el costo sigue siendo enorme. Entonces, en el diseño de código C#, generar una excepción es básicamente una situación en la que se cree que esta situación inesperada no sucederá. De lo contrario, si se trata de un error común, es mejor no generar una excepción.

Por ejemplo, en Java, también se recomienda usar try catch. No estoy familiarizado con esto, pero mirando su descripción, no estoy familiarizado ni siquiera con lanzar esto, pero según mi lectura, incluso. Lanzar una excepción es muy barato.

En resumen, si se recomienda try catch depende del lenguaje y la métrica más importante es cuánto afecta el rendimiento del código existente. Pero desde la perspectiva de su diseño, es para manejar algunas situaciones inesperadas, pero debido a varias razones introducidas, no se recomienda su uso en algunos idiomas por razones de rendimiento.

Por cierto, intentar capturar es mejor que capturar (Excepción), este último solucionará problemas que no deberían solucionarse, como StackOverflowException, OutOfMemoryException, NullReferenceException, etc. en C#. Cuando falla, debe bloquear la aplicación y luego reiniciarla; esta también es una buena manera de proteger su servicio.

Espero que esto ayude~