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 |
|
|
Erreurs et exceptions dans Java |
La langue de Java font des exceptions d'utilisation pour fournir les possibilités de gestion d'erreur pour tous ses programmes. Voici que toi apprendront ce qui fait un moyen d'exception, comment jeter et attraper les exceptions, quoi faire à l'exception une fois que vous l'avez attrapée, et comment faire la meilleure utilisation de la hiérarchie de classe d'exception fournie par l'environnement de développement de Java.
|
Quelle est une exception ?
|
Définition : Une exception est un événement qui se produit pendant l'exécution du programme qui perturbe l'écoulement normal des instructions. Les différents types d'erreurs peuvent causer des exceptions : les problèmes qui s'étendent des erreurs machine sérieuses, telles que l'accident de disque dur, aux erreurs de programmation simples, comme l'essai d'accéder au dehors-de-bondit l'élément de rangée. Quand une telle erreur se produit dans une méthode de Java, la méthode créera un objet et des mains d'exception il au système d'exécution. L'objet d'exception contient les informations sur l'exception comprenant son type et état du programme quand l'erreur s'est produite. Le système d'exécution est alors responsable pour trouver un certain code pour manipuler l'erreur. Dans la terminologie de Java, créant l'objet d'exception et le remettant au système d'exécution s'appelle « lancement d'une exception ».
|
Le crochet de Hotjava ou déclarent la condition
|
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();
}
}
|
|
L'exemple ci-dessus définit et met en application la classe appelée « ListOfNumbers ». Lors de la construction, la classe de ListOfNumbers crée un vecteur qui contient dix éléments de nombre entier avec les valeurs séquentielles 0 à 9. La classe de ListOfNumbers définit également la méthode « writeList () » qui écrit la liste de nombres dans le dossier « OutFile.txt » des textes. La méthode de writeList () appelle deux méthodes supplémentaires qui peuvent jeter des exceptions.
|
First,
pStr = new PrintStream(new BufferedOutputStream(new FileOutputStream("OutFile.txt")));
|
|
Cette ligne appelle le constructeur pour FileOutputStream qui jette un IOException quand le dossier ne peut pas être ouvert pour la raison l'une des.
|
Second, the Vector class's elementAt() method
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
|
|
Cette méthode jettera ArrayIndexOutOfBoundsException si vous passez un index dont la valeur est très petite (nombre négatif) ou très grande (plus grand que le nombre d'éléments contenus par le vecteur actuellement).
|
Si vous essayez de compiler la classe de ListOfNumbers, le compilateur imprime le message d'erreur au sujet d'une exception jetée par le constructeur de FileOutputStream, mais il ne montrera pas le message d'erreur au sujet d'une exception jetée par l'elementAt (). C'est parce que l'exception jetée par le constructeur de FileOutputStream, IOException, est exception de non-temps d'exécution et l'exception jeté par la méthode d'elementAt (), ArrayIndexOutOfBoundsException, est l'exception d'exécution. Java exige seulement pour attraper ou déclarer des exceptions de non-temps d'exécution.
|
Attraper et manipuler une exception
|
La première étape pour construire un traiteur d'exception est de joindre les rapports qui pourraient jeter l'exception dans le bloc d'essai. Généralement regards de bloc d'essai n'importe quoi de pareil :
|
|
Le segment « rapports de Java » dans le code ci-dessus consiste un ou plusieurs rapports légaux de Java qui pourraient potentiellement jeter une exception. Pour construire le traiteur d'exception pour la méthode de writeList () de la classe de ListOfNumbers, nous devons joindre les rapports de exception-lancement de la méthode de writeList () dans le bloc d'essai. Il y a plus de les manières une d'accomplir ceci chargent : nous pouvons mettre chaque rapport qui peut potentiellement jeter l'exception dans son propre rapport d'essai, et fournissons les traiteurs séparés d'exception pour chacun de l'essai. Ou vous pouvez mettre tous rapports de writeList () dans le rapport simple d'essai et associer les traiteurs multiples à lui. L'exemple suivant emploie le rapport simple d'essai pour la méthode entière pendant qu'il tend à être plus facile lire le code.
|
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));
}
|
|
Le rapport d'essai régit les rapports joints dans lui et il définit la portée de tous les traiteurs d'exceptions (qui sont établis par les blocs suivants de crochet) liés à lui. En d'autres termes, si une exception se produit dans le rapport d'essai, puis que l'exception est manipulée par un certain traiteur approprié d'exception qui est associé à ce rapport d'essai.
|
Les blocs de crochet
|
Comme étudié avant, le rapport d'essai définit la portée des traiteurs associés d'exception. Nous associons des traiteurs d'exception à un rapport d'essai en fournissant un ou plusieurs des blocs séquentiels de crochet directement après qu'un bloc d'essai.
|
try
{
. . .
} catch ( . . . )
{
. . .
} catch ( . . . )
{
. . .
} . . .
|
|
Il ne peut y avoir aucun code intervenant entre la fin du rapport d'essai et le commencement du premier rapport de crochet. La forme générale de rapport de crochet est :
|
catch (SomeThrowableClassName variableName)
{
Java statements
}
|
|
Le rapport de crochet régit la série de rapports légaux de Java. Ces rapports sont exécutés quand le traiteur d'exception est appelé. Le système d'exécution appelle le traiteur d'exception quand une exception dont le type matchs avec cela de l'argument du rapport de crochet est jeté dans le bloc de l'essai du traiteur.
|
La méthode de writeList () de la classe de ListOfNumbers emploie deux traiteurs d'exception pour le rapport d'essai, un traiteur pour chacun des deux types d'exceptions qui peuvent être jetées dans un bloc, un ArrayIndexOutOfBoundsException et un IOException d'essai.
|
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 |
|
|