Maison > Java > javaDidacticiel > Enfin en Java

Enfin en Java

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-08-30 16:15:28
original
675 Les gens l'ont consulté

L'article suivant fournit un aperçu de Enfin en Java. Enfin, il s'agit d'un bloc de code utilisé avec try and catch. Contient enfin le bloc de code qui doit être exécuté qu'une exception se produise ou non. Les instructions écrites à l'intérieur du bloc final s'exécutent toujours, qu'une erreur se soit produite ou non dans le bloc try. Enfin, le bloc est utile pour fermer des fichiers ou une connexion à une base de données, ce qui garantit que vous n'obtiendrez aucune erreur de mémoire due à un fichier ouvert ou à une erreur de base de données due à une connexion ouverte ou à une erreur de connexion maximale. Cela garantit également que toute erreur qui se produit dans le code sera traitée avec élégance.

PUBLICITÉ Cours populaire dans cette catégorie MODÉLISATION ET VALORISATION FINANCIÈRE - Spécialisation | 51 Série de cours | 30 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe :

try {
//block of code that may cause an exception
}
Copier après la connexion
catch {
//Handling the error occurred in try block
}
Copier après la connexion
finally {
//code that should always execute
}
Copier après la connexion

Comment fonctionne Enfin en Java ?

Ici, nous allons générer une erreur ou écrire un code erroné qui entraînerait une erreur et finalement bloquer l'exécution.

Code :

class ExampleFinally
{
public static void main(String args[]) {
try{
int result = 1/0;
System.out.println(result);
catch(ArithmeticException e){
System.out.println("Divide by Zero Error");
}
/* Finally block will always execute
* even when we have created an error
Block */
finally{
System.out.println("Gracefully Handling Error in Finally");
}
System.out.println("Execution complete out of Try Catch Finally block");
}
}
Copier après la connexion

Sortie :

Enfin en Java

Explication :

Dans le programme ci-dessus, nous avons divisé un nombre à partir de zéro, ce que nous avons déjà fait .

  • Gérer gracieusement l'erreur dans Enfin.

Et après le try catch finalement, bloc, nous avons écrit un bloc de code en dehors de tout ce qui a été imprimé.

  • Exécution terminée hors du bloc Try Catch Enfin.

Un autre exemple, nous verrions où aucune exception ne se produirait dans le bloc try-catch-finally et verrions ce qui se passe.

Code :

class ExampleFinally
{
public static void main(String args[]) {
try
{  int result = 100/10;
System.out.println(result);
System.out.println("try code block");
}
catch (Exception e)
{
System.out.println("catch code block");
}
finally
{
System.out.println("finally code block");
}
}
}
Copier après la connexion

Sortie :

Enfin en Java

Explication :

Dans le programme ci-dessus, nous n’avons écrit aucun code pouvant provoquer une erreur. Le code s'est exécuté avec succès à l'intérieur du bloc try, mais vous pouvez quand même voir le bloc final être exécuté et imprimer le message à l'intérieur.

  • enfin le bloc de code

Enfin, bloquer l'utilisation dans le programme Java

L'ouverture d'un fichier en lecture ou en écriture nécessite d'ouvrir un fichier, puis de mettre le flux en mémoire tampon, et nous devons nous assurer de fermer le fichier ouvert afin que nous n'obtenions aucune erreur de gestion de fichier, d'E/S ou de disque.

Code :

import java.io.*;
public class ReadingFromFile
{
public static void main(String[] args)throws Exception
{
FileReader fr = null;
try {
fr = new FileReader("/Users/cdp/Documents/testing/python virtual/java/myfile.txt");<>
System.out.println("Opening the file");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null)
System.out.println(line);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
System.out.println("Closing the file ");
fr.close();
} catch (IOException e) {
System.out.println("unrecoverable Error occurred");
e.printStackTrace();
}
}
System.out.println("Exiting Finally block");
}
}
}
Copier après la connexion

Sortie (le fichier n'existe pas) :

Enfin en Java

Sortie (le fichier existe) :

Enfin en Java

Dans l'exemple ci-dessus, nous avons essayé d'ouvrir un fichier et de le lire dans le tampon à partir d'un chemin de fichier. Si le fichier existe et que nous sommes capables de lire le fichier, aucune erreur ne sera générée et le tampon du fichier sera fermé dans le bloc final s'il n'est pas nul. Même s'il y a une erreur lors de la lecture du fichier, disons en raison d'une autorisation, le fichier sera également fermé en cas de blocage final.

Importance

  • Enfin, le bloc doit toujours être associé à un bloc try ; nous ne pouvons pas écrire le bloc use final sans bloc try. Les instructions que vous écrivez dans le bloc final seraient exécutées, toujours indépendamment du code du bloc try, qu'une erreur se produise ou non.
  • Enfin, le blocage n'est pas un blocage obligatoire ; nous pouvons écrire le bloc try and catch sans finalement bloquer. Disons que nous voulons simplement détecter les erreurs pour toute entrée utilisateur où l'entrée est boguée.
  • Dans le cas où aucune erreur ne se produit, finalement, le bloc sera exécuté. S'il y a une erreur, alors le premier bloc catch est exécuté, puis enfin.
  • Toutes les exceptions ont le même comportement dans le bloc final. Le bloc serait exécuté normalement pour toutes les exceptions.
  • Enfin, le bloc s'exécutera même s'il y a une instruction break, return ou continue dans le bloc try.

Quand Finalement ne s'exécutera-t-il pas ?

Jusqu'à présent, nous avons vu quand et comment le blocage serait finalement exécuté.

Mais il peut y avoir certains scénarios dans lesquels finalement, le bloc ne sera pas exécuté.

  • There could be a thread getting executed; it is most likely to be the main thread where program execution is happening, and abruptly it dies, then the finally block won’t be getting executed.
  • If in the try or catch block we have used System class with the exit method that is System.exit(), then the whole system would exit, and no control will be transferred to the next block of code.
  • If finally only throws an exception, then the program would not exit gracefully but exit abruptly.

Example:

import java.io.*;
public class ReadingFromFile
{
public static void main(String[] args)throws Exception
{
FileReader fr = null;
try {
fr = new FileReader("/Users/cdp/Documents/testing/python virtual/java/myfile.txt");
System.out.println("Opening the file");
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null)
System.out.println(line);
System.exit(0);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
System.out.println("Closing the file ");
fr.close();
} catch (IOException e) {
System.out.println("unrecoverable Error occurred");
e.printStackTrace();
}
}
System.out.println("Exiting Finally block");
}
}
}
Copier après la connexion

Output:

Enfin en Java

In the above example, we have used System.exit in the try block after reading the file, and it gets executed. If the System.exit gets executed without any exception, then there won’t be any control transfer to the finally block. However, in the case of an exception occuring before the System.exit, then finally block would surely get executed.

Conclusion

In the conclusion we can reach, it can finally play a very important role in gracefully exiting the program in case of errors. Finally, the block is important when you open a connection or buffered something, and it’s always important to close the connection or file opened. Finally, the block would even execute if there is an error or no error in the try block code. Finally, blocks are not mandatory but are useful in some situations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Impossible d'installer Java
Depuis 1970-01-01 08:00:00
0
0
0
Java peut-il être utilisé comme backend du Web ?
Depuis 1970-01-01 08:00:00
0
0
0
Installer JAVA
Depuis 1970-01-01 08:00:00
0
0
0
Aide : Données chiffrées JAVA Décryptage PHP
Depuis 1970-01-01 08:00:00
0
0
0
Est-ce en langage Java ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal