Objetivos do Tópico
Uso de printStackTrace e getMessage
ConteúdoExceções derivam da classe Throwable. A classe Throwable oferece o método printStackTrace que imprime o método call stack. Para enviar este método para um objeto Exception que foi pego, o programa pode imprimir o método call stack.
Isto é de muita ajuda em teste e debbuging.
Neste exemplo usaremos os métodos printStackTrace e getMessage.
Há dois construtores para a classe Exception. O primeiro construtor
public Exception ()
não leva argumentos. O segundo construtor
public Exception ( String informationString )
leva um argumento informationString que descreve a informação sobre qual tipo de Exception que será carregada por todos os objetos desta classe. A informationString armazenada em Exception pode ser obtida através do método getMessage .Neste exemplo o método getMessage retorna a String armazenada na exceção. O método printStackTrace dá como saída standard error stream uma mensagem de erro com o nome da classe da exceção.
public class UsingExceptions {
pulic static void main (String args [ ]); }
try {method1 ( ) ; }
catch ( UserException e )
{System.err.println( e.getMessage ( ) + "/n The stack trace is : ") ; }
e.printStackTrace ( );
pulic static void method1 ( ) throws UserException {
method2 ( )
}
pulic static void method2 ( ) throws UserException {
method3 ( )
}
pulic static void method3 ( ) throws UserException {
throw new UserException ( ) ;
}
class UserException extends Exception {
public UserException ( ) }
{
super( "This is a user defined exception. ");
}
No programa, main invoca method1 , method1 invoca method2 e method2 invoca method3. Até este ponto o método de chamada da pilha é
method3
method2
method1
main
Quando o method3 lança a UserException o ponteiro não vai para o primeiro método no qual a exceção pode ser pega (isto é , main porque contém o tratamento catch para UserException ) .O o tratamento catch então usa printStackTrace e getMessage no objeto e da UserException para produzir a saída.
Para saber mais consulte Bibliografia e Referências