JBoy_
Dezembro 2, 2003, 4:14pm
#1
Opa…
Gostaria de saber como eu faço pra saber qual foi a exceção que foi levantada quando eu uso uma superclasse dessa exceção.
Ex.
try{ //levanta exceção }
catch( IOException e ){}
Como eu fico sabendo que foi um FileNotFoundException ?
Obrigado, estou estudando exceções agora e me veio isso na cabeça.
faça um catch pra cada tipo d exception ao invés d usar uma exception genérica
Sempre da mais específica para a mais genérica:
try{ //levanta exceção }
catch( FileNotFoundException e ){}
catch( IOException e ){}
catch( Exception e ){}
JBoy_
Dezembro 2, 2003, 9:45pm
#4
Isso eu sabia… mas eu gostaria de saber se tem alguma maneira de descobrir dentro de uma superclasse de uma exception a sua subclasse, ou seja, se em um IOException foi um FileNotFoundException ou um EOFException sacaram ?!
if( exc instanceof ClasseQueVoceQuerTestar ) { }
try {
throw new IOException();
}
cacth( Throwable t ) {
if( t instanceof IOException ) {}
if( t instanceof Exception ) {}
if( t instanceof Throwable ) {}
}