Diferència clau: excepció marcada i no marcada a Java
Una excepció és un error d'execució. Hi ha dos tipus d'excepcions conegudes com a excepcions marcades i no marcades. Quan es produeix una excepció marcada, l'aplicació Java es connecta a un recurs extern, com ara un fitxer, un dispositiu o una base de dades. Aquestes excepcions són verificades pel compilador. Alguns exemples d'excepcions marcades són l'excepció IO i l'excepció FileNotFound. Quan es produeix una excepció no marcada, l'aplicació no està connectada a cap recurs extern. Aquestes excepcions no són verificades pel compilador. Alguns exemples d'excepcions no marcades són l'excepció aritmètica i l'excepció ArrayOutOfBound. En aquest article es parla de la diferència entre l'excepció marcada i no marcada a Java. La diferència clau entre l'excepció marcada i l'excepció no marcada a Java és que una excepció marcada la verifica el compilador mentre que una excepció no marcada no la verifica el compilador.
Què és l'excepció marcada a Java?
Quan es produeix una excepció marcada, l'aplicació Java es connecta a un recurs extern. Aquest recurs pot ser un dispositiu com una impressora. Pot ser un fitxer o una base de dades. Per tant, aquestes excepcions són verificades pel compilador. L'excepció IO és una excepció marcada. Es produeix a causa d'un error al dispositiu. Quan l'aplicació accedeix a un fitxer que no existeix, provocarà una excepció FileNotFound. Una aplicació es pot connectar a una base de dades com MySQL, Oracle, etc. per emmagatzemar dades. Si es produïa un error relacionat amb una base de dades, seria una excepció SQL. Aquests són alguns exemples d'excepcions marcades. En tots aquests, l'aplicació està connectada a un recurs extern. En les excepcions marcades, és obligatori gestionar l'excepció. Si no es gestiona, s'acabarà el flux correcte del programa i no es generarà el fitxer de classe. L'error es pot gestionar amb el bloc try, catch.
Figura 01: Gestió d'excepcions comprovat
Segons l'anterior, el FileReader va llegir les dades del fitxer. El fitxer text1.txt no existeix a la ubicació especificada. El codi que pot donar l'excepció es col·loca dins del bloc try. El missatge a imprimir es troba dins del bloc catch. Com que no hi ha cap fitxer anomenat text1.txt, això provoca una FileNotFoundException. En utilitzar la gestió d'excepcions, el missatge s'imprimeix a la pantalla.
Què són les excepcions no marcades a Java?
El compilador no verifica les excepcions no marcades. A diferència de les excepcions marcades, amb excepcions no marcades, l'aplicació Java no està connectada a un recurs extern com ara un fitxer, una base de dades o un dispositiu. Algunes excepcions habituals sense marcar són les excepcions Arithmetic, ArrayOutOfBound i NullPointer.
int a=10, b=0;
int div=a/b;
System.out.println(div);
Això provocarà una excepció aritmètica a causa de la immersió "a" per zero. Consulteu el codi següent.
Figura 02: Gestió d'excepcions aritmètiques
Segons el programa anterior, la variable a és un valor enter. La variable b és 0. La divisió d'aquests dos nombres és una divisió per zero. Per tant, provocarà una excepció aritmètica. Es pot gestionar mitjançant el bloc try-catch. Les declaracions que poden provocar l'excepció es col·loquen dins del bloc try. El missatge que es mostrarà es troba al bloc catch.
Consulteu la part següent del codi.
int array1={1, 2, 3, 4, 5};
System.out.println(array1[5]);
Això provocarà una excepció. La matriu1 és una matriu amb 5 elements. L'índex inicial de la matriu és zero. La impressió del valor de l'índex 5th provoca una excepció perquè està fora de límit. L'índex màxim de la matriu1 és 4.
Figura 03: Gestió d'excepcions ArrayOutOfBound
Segons el programa anterior, la matriu1 té 5 elements. Imprimir l'element amb l'índex 6 provocarà una excepció perquè està fora de límit. L'índex màxim que es pot emmagatzemar a la matriu1 és 5. El missatge d'error s'imprimeix executant el bloc catch.
Quina és la similitud entre l'excepció marcada i no marcada a Java
Tant l'excepció marcada com l'excepció no marcada a Java són tipus d'excepció a Java
Quina és la diferència entre l'excepció marcada i no marcada a Java?
Excepció marcada o no marcada a Java |
|
Una excepció marcada és un error d'execució que el compilador verifica. | Una excepció no marcada és un error d'execució que el compilador no verifica. |
Ocurrència | |
Quan es produeix una excepció marcada, l'aplicació Java es connecta a un recurs extern com ara un fitxer, un dispositiu o una base de dades. | Quan es produeix una excepció no marcada, l'aplicació Java no està connectada a cap recurs extern. |
Exemples | |
IOException, FileNotFoundException, SQLException són alguns exemples d'excepcions marcades. | L'excepció aritmètica, ArrayOutOfBoundException, NullPointerException són alguns exemples d'excepcions no marcades. |
Resum: excepció marcada o no marcada a Java
Una excepció és un esdeveniment que interromp l'execució del flux del programa. Hi ha dos tipus d'excepcions. S'anomenen excepcions marcades i excepcions no marcades. En aquest article es parla de la diferència entre una excepció marcada i les excepcions no marcades. La diferència entre l'excepció marcada i l'excepció no marcada a Java és que el compilador verifica una excepció marcada mentre que una excepció no marcada no la verifica el compilador. Com que les excepcions afecten el flux correcte d'execució del programa, és una bona pràctica de programació gestionar-les.