HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
A língua de Java faz exceções do uso para fornecer as potencialidades da manipulação de erro para todos seus programas. Aqui você aprenderão o que faz um meio da exceção, como jogar e travar as exceções, o que fazer com a exceção uma vez que você a travou, e como fazer o mais melhor uso da hierarquia da classe da exceção fornecida pelo ambiente do desenvolvimento de Java.
|
Que é uma exceção?
|
Definição: Uma exceção é um evento que ocorra durante a execução do programa que disrupts o fluxo normal das instruções. Os tipos diferentes de erros podem causar exceções: os problemas que variam dos erros de ferragem sérios, tais como o ruído elétrico do disco duro, aos erros de programação simples, como tentar alcançar para fora--limitam o elemento de disposição. Quando tal erro ocorre dentro de um método de Java, o método criará um objeto e as mãos da exceção ele ao sistema runtime. O objeto da exceção contem a informação sobre a exceção including seus tipo e estado do programa quando o erro ocorreu. O sistema Runtime é então responsável encontrar algum código para segurar o erro. Na terminologia de Java, criando o objeto da exceção e entregando o ao sistema runtime é chamado “jogando uma exceção”.
|
O prendedor de Hotjava ou declara a exigência
|
import java.io.*;
import java.util.Vector;
class ListOfNumbers
{
private Vector victor;
final int size = 10;
public ListOfNumbers ()
{
int i;
victor = new Vector(size);
for (i = 0; i < size; i++)
victor.addElement(new Integer(i));
}
public void writeList()
{
PrintStream pStr = null;
System.err.println("Entering try statement");
int i;
pStr = new PrintStream(
new BufferedOutputStream(
new FileOutputStream("OutFile.txt")));
for (i = 0; i < size; i++)
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
pStr.close();
}
}
|
|
O exemplo acima define e executa a classe chamada “ListOfNumbers”. Em cima da construção, a classe de ListOfNumbers cría um vetor que contenha dez elementos do inteiro com valores seqüenciais 0 a 9. A classe de ListOfNumbers define também o método “writeList ()” que escreve a lista dos números na lima de texto “OutFile.txt”. O método do writeList () chama-se acima de dois mais métodos que podem jogar exceções.
|
First,
pStr = new PrintStream(new BufferedOutputStream(new FileOutputStream("OutFile.txt")));
|
|
Esta linha invoca o construtor para FileOutputStream que joga um IOException quando a lima não pode ser aberta para alguma da razão.
|
Second, the Vector class's elementAt() method
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
|
|
Este método jogará ArrayIndexOutOfBoundsException se você passar um índice cujo o valor seja muito pequeno (número negativo) ou muito grande (maior do que o número dos elementos contidos pelo vetor atualmente).
|
Se você tentar compilar a classe de ListOfNumbers, o compilador imprime a mensagem de erro sobre uma exceção jogada pelo construtor de FileOutputStream, mas não indicará a mensagem de erro sobre uma exceção jogada pelo elementAt (). Isto é porque a exceção jogada pelo construtor de FileOutputStream, IOException, é exceção do non-runtime e a exceção jogado pelo método do elementAt (), ArrayIndexOutOfBoundsException, é a exceção runtime. Java requer para travar ou declarar somente exceções do non-runtime.
|
Travar e segurar uma exceção
|
A primeira etapa para construir um alimentador da exceção é incluir as indicações que puderam jogar a exceção dentro do bloco da tentativa. No general, olhares do bloco da tentativa qualquer outra coisa semelhante:
|
|
O segmento de “indicações Java” no código acima consiste um ou mais indicação legal de Java que poderiam potencial jogar uma exceção. Para construir o alimentador da exceção para o método do writeList () da classe de ListOfNumbers, nós necessitamos incluir as indicações exceção-jogando do método do writeList () dentro do bloco da tentativa. Há mais as maneiras de uma realizar esta tarefa: nós podemos pôr cada indicação que pode potencial jogar a exceção dentro de sua própria indicação da tentativa, e fornecemos os alimentadores separados da exceção para cada uma da tentativa. Ou você pode pôr todas as indicações do writeList () dentro da única indicação da tentativa e associar-lhe alimentadores múltiplos. O seguinte exemplo usa a única indicação da tentativa para o método inteiro enquanto o código tende a ser mais fácil de ler.
|
PrintStream pstr;
try
{
int i;
System.err.println("Entering try statement");
pStr = new PrintStream(
new BufferedOutputStream(
new FileOutputStream("OutFile.txt")));
for (i = 0; i < size; i++)
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
}
|
|
A indicação da tentativa governa as indicações incluídas dentro dela e define o espaço de todos os alimentadores das exceções (que forem estabelecidos por blocos subseqüentes do prendedor) associados com ela. Ou seja se uma exceção ocorre dentro da indicação da tentativa, a seguir que a exceção está segurada por algum alimentador apropriado da exceção que é associado com esta indicação da tentativa.
|
Os blocos do prendedor
|
Como estudado antes, a indicação da tentativa define o espaço dos alimentadores associados da exceção. Nós associamos alimentadores da exceção com uma indicação da tentativa fornecendo um ou mais dos blocos seqüenciais do prendedor diretamente depois que um bloco da tentativa.
|
try
{
. . .
} catch ( . . . )
{
. . .
} catch ( . . . )
{
. . .
} . . .
|
|
Não pode haver nenhum código de intervenção entre o fim da indicação da tentativa e o começo da primeira indicação do prendedor. O formulário geral da indicação do prendedor é:
|
catch (SomeThrowableClassName variableName)
{
Java statements
}
|
|
A indicação do prendedor governa a série de indicações legais de Java. Estas indicações são executadas quando o alimentador da exceção é invocado. O sistema runtime invoca o alimentador da exceção quando uma exceção cujo o tipo combine com o aquele do argumento da indicação do prendedor é jogada dentro do bloco da tentativa do alimentador.
|
O método do writeList () da classe de ListOfNumbers usa dois alimentadores para a indicação da tentativa, um alimentador da exceção para cada um dos dois tipos de exceções que podem ser jogadas dentro de um bloco, de um ArrayIndexOutOfBoundsException e de um IOException da tentativa.
|
try
{
. . .
} catch (ArrayIndexOutOfBoundsException e)
{
System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage());
} catch (IOException e)
{
System.err.println("Caught IOException: " + e.getMessage());
}
|
|
|
|
Keywords: unchecked exceptions, exception classes, exception handling,
exception class
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|