Si hay una instrucción throw
en el medio de una función, ¿termina la función en este punto?C#: ¿'throw' sale de la función actual?
Respuesta
Sí, con la excepción de cualquier finally
bloques, o si hay un controlador de excepción dentro de la función que puede detectar el tipo de excepción que está lanzando.
Sí, sí. Genera una excepción que sube la pila de llamadas.
Sí. Se dirigirá al bloque catch
más cercano.
¿Lo intentó? :)
Supongo que la respuesta correcta es, depende. Si envolvió el tiro con un try/catch por cualquier razón extraña, entonces no. Si no lo hizo, entonces sí, a menos que no haya detectado la excepción en algún lugar de la pila de llamadas, en cuyo caso su aplicación se bloqueará.
Sí, a menos que cogerlo o tener un bloque finally:
try {
var foo = 42 /0;
}
finally
{
// This will execute after the exception has been thrown
}
... y en el caso de finalmente, el método actual se cerrará de todos modos, es decir, el código después no se ejecutará. –
El control pasa a la siguiente gestor de excepciones (catch
bloque) en la pila de llamadas, ya sea en el método actual o uno de sus padres Si el throw
no está encapsulado en un bloque try/catch, todos los bloques finally
se ejecutarán antes de buscar un bloque catch padre.
Una excepción es un evento que ocurrió cuando no se suponía que así fuera, por lo que la aplicación no sabe qué hacer con dicho evento. En todos los lenguajes de OOP (que yo sepa) lo que hace el tiempo de ejecución es detener la función que llamó al evento y luego lanzar la excepción a la pila hasta que alguien sepa qué hacer con ella. Ahí es donde entran los bloques try/catch.
- 1. Método Inline throw() en C++
- 2. sobre excepciones de C++. func() throw()
- 3. C# Throw Exception on use ¿Assert?
- 4. C: Hacer algo cuando el programa sale
- 5. Llamar a otra función cuando main() sale de
- 6. ¿Por qué veo THROW en una biblioteca de C?
- 7. No-throw VirtualMachineError garantiza
- 8. Utilice coffeescript/javascript 'throw error' o 'throw new Error (error)'?
- 9. ¿Cuál es la diferencia entre throw y throw con arg de excepción atrapada?
- 10. Throw Custom Exception
- 11. C++ try/throw/catch => código de máquina
- 12. Función de llamada cuando el programa sale en java
- 13. RegisterClass fallaron: clase ya sale
- 14. Cómo mostrar la función actual en Eclipse
- 15. /zoom a la función actual ubicación (MapKit)
- 16. ¿Cómo obtener el nombre de la función actual?
- 17. Throw VS rethrow: ¿el mismo resultado?
- 18. throw without arguments for failure signaling
- 19. Obteniendo el nombre de la función actual dentro de la función con plpgsql
- 20. aplicación WP7 no sale BeginGetResponse y entra en la función de devolución de llamada
- 21. C# - Formateo de la hora actual
- 22. PowerPoint Lanzado a través de C# no sale
- 23. Cómo probar la excepción de throw throws en Android
- 24. Nombre de función actual de registro
- 25. throw checked Excepciones de simulacros con Mockito
- 26. Diferencia entre el especificador de C++ 03 throw() C++ 11 noexcept
- 27. Actionscript - Obtenga el nombre de la función actual
- 28. Recuperando el nombre de la función actual en PHP
- 29. obtener el nombre de la función actual en javascript
- 30. ¿App.Exit no sale inmediatamente?
¿Hay algún bloque final de Java que pueda modular esta respuesta? – PypeBros
Hay, sí. Obtienes el típico try, catch, finalmente manejo de excepciones en la parte superior de la pila. – FarligOpptreden