2011-08-16 11 views
12

Si se permiten múltiples excepciones en catch(), reducirá la cantidad de código de manejo de error redundante. por ejemplo,Múltiples tipos diferentes de manejo de excepciones en un bloque catch?

try{ 
// some statments 
} 
catch(Type1Exception t1, Type2Exception t2, Type3Exception t3) { // wish if this could be allowed 
/* t1, t2, t3 are children of Exception and needs same error handling then why to have different catch blocks with same piece of code */ 
} 
+0

http://download.oracle.com/javase/tutorial/essential/exceptions/index.html – mKorbel

+0

@mKorbel: Y ...? – mellamokb

+0

@Closer: ¡Realmente no entiendo a las personas que votan para cerrar una pregunta porque no ven un signo de interrogación en ella! Vamos, esta es una pregunta interesante! –

Respuesta

18

Sí - es por eso que es supported in Java 7.

Así que su ejemplo podría ser en realidad:

try { 
} catch (Type1Exception | Type2Exception | Type3Exception ex) { 
    ... 
} 
+0

Quiere decir '||' en lugar de '|' –

+2

@ Eng.Fouad: No, quiere decir '|'. :-) El tutorial dice: "En la cláusula de captura, especifique los tipos de excepciones que puede manejar el bloque y separe cada tipo de excepción con una barra vertical (|)" –

+1

@Jon Skeet: ¿Hay algo similar en .NET, (versión anterior o siguiente)? – VoodooChild

Cuestiones relacionadas