Tengo un bloque try
- catch
que deseo break
como un bloque switch
pero no encontré una manera recomendada de hacerlo. Estoy obteniendo una gran cantidad de datos en el bloque try
- catch
y deseo detener la búsqueda en el medio en caso de que se cumpla una determinada condición. Sólo para que funcione, por ahora, he deliberadamente forzado el código para entrar en el bloque de catch
:¿Cuál es la mejor manera de forzar un bloque de prueba para romper?
int i=0;
try {
//--do stuff----
if(//-------is condition met?--------//)
i = 1/0; // divide 1 by 0 -- a definite exception
}
catch (Exception e) {//---------do nothing---------//}
¿Es seguro hacer esto o debería ir a por otro camino?
EDITAR: Estoy obteniendo algunos datos xml (en realidad, mucho). Dependiendo de la conexión a Internet, debo detener el análisis después de algún tiempo (time-out) en lugar de pasar por toda la transmisión. Paso por bucles pero también hago algunos cálculos más adelante. No tiene sentido calcular con datos incompletos, por lo que preferiría omitir todo.
Esa es una forma terrible: se puede publicar un contexto más completo? Una forma un poco menos mala es usar un bucle "ficticio" y romperlo, lo cual es una tonta expresión en C, pero sospecho que podría haber una mejor manera de estructurar el código por completo. –
Eso es horrible. – SLaks
Estoy de acuerdo con @pst; sin ver un ejemplo más grande (específicamente, ¿qué es lo que intentas omitir?), es difícil responder a esto de manera significativa. –