Diferència entre llançaments i llançaments a Java

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 7 Ser Possible 2024
Anonim
Diferència entre llançaments i llançaments a Java - Tecnologia
Diferència entre llançaments i llançaments a Java - Tecnologia

Content


Els llançaments i llançaments són les paraules clau que s’utilitzen en el maneig d’excepcions. El llançar la paraula clau s’utilitza per lliurar manualment la instància de l’excepció creada pel programador a la JVM. El llança paraula clau utilitzada per lliurar la responsabilitat de manejar l’excepció ocorreguda en el mètode al mètode de la persona que truca. La diferència bàsica entre els llançaments i els llançaments és que la paraula clau llança utilitza l'objecte d'excepció mentre que la paraula clau llança utilitza el nom de les classes d'excepció.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases de la comparacióllançarllança
BàsicL’objecte d’excepció creat a JVM manualment transmet la nostra paraula clau de llançament.La paraula clau llança s'utilitza per delegar la responsabilitat del maneig d'excepcions en la persona que truca del mètode.
Sintaxillança Instància llançable;return_type type_name nom (llista de paràmetres) llança ExceptionClass_list
{
// cos de mètode
}
Seguit perLa paraula clau de llançament és seguida de l'objecte d'excepció.La paraula clau de llançaments va seguida de la llista de les classes d'excepció que es poden produir en el mètode.
Nombre d’excepcions llançadesLa paraula clau llançar pot llançar una sola instància d’excepció.La paraula clau de llançaments pot declarar diverses classes d’excepcions separades per una coma.


Definició de llançament

La paraula clau "llançar"S'utilitza per lliurar la nostra instància d'excepció creada a la JVM (màquina virtual de Java) de forma manual. Si no es fa servir "llançar" per llançar una instància d'excepció i es produeix l'excepció, el sistema d'execució llança internament la instància d'excepció a JVM i el programa finalitza anormalment. La forma general de la paraula clau de llançament és:

llançar Throwable_instance;

Per sobre de Throwable_instance hi ha d’haver un objecte de la classe Throwable. Els tipus primitius com int, float o char i la instància de classe no llançable no es poden llançar mitjançant la paraula clau de llançament.

Prenguem un exemple per entendre el llançament de paraules clau.

Class Test {Public static void main (String args) {throw new ArithmeticException ("/ per zero"); }}

Al codi anterior, la paraula clau llança una instància de la classe Excepció "ArithmeticException". Si la paraula clau de llançament no s'hagués utilitzat llavors, el mètode principal () hauria creat internament un objecte d'excepció lliurat a la JVM.


Punts a recordar sobre la paraula clau:

  • Remet l'objecte d'excepció de forma manual a la JVM.
  • És el més indicat per a excepcions definides per l’usuari o excepcions personalitzades.
  • Si la memòria no s’assigna a l’objecte d’excepció llançat per paraula clau de llançament, es produeix una excepció en temps d’execució, NullPointerException.
  • La paraula clau de llançament atura l’execució del programa immediatament després de la seva ocurrència. no podem escriure directament cap declaració després de la declaració de llançament. Si escrivim qualsevol estació directament després de la declaració de llançament, el compilador mostrarà un error, que no es pot accedir durant la compilació.
  • Només es poden llançar objectes de la classe Throwable mitjançant la paraula clau de llançament. Si l'objecte llançat no és un objecte de la classe Throwable, s'obtindrà un error de compilació "S'ha trobat un tipus incompatible. . requereix java.lang.Throwable "

Nota:

La paraula clau de llançament s'utilitza a C ++, JAVA, C #, per llançar manualment una excepció.

Definició de llançaments

El "llança”La paraula clau s’utilitza per delegar la responsabilitat de manejar l’excepció ocorreguda en el mètode, al seu mètode de trucada. El mètode de la trucada és responsable de gestionar l'excepció, pot ser qualsevol altre mètode o JVM. Declara la llista de les classes d’excepcions que poden aparèixer en el mètode.

L'ús de la paraula clau llança convenç al compilador que l'excepció que es va produir en el mètode s'ha de manejar pel mètode de la persona que, per tant, no es produeix cap error de compilació. Però, el mètode que ha trucat ha de gestionar l'excepció o delegar la responsabilitat per gestionar l'excepció al mètode de jerarquia. Quan es produeix l'excepció d'execució, fins i tot després de l'ús de la paraula clau de llançaments, no impedeix la terminació anormal del programa. Si el mètode de la trucada és principal (), el JVM per defecte gestiona l’excepció.

La forma general de la paraula clau llança és:

return_type method_name (llista de paràmetres) llança exceptionClass_list {// cos del mètode}

Podem veure que la paraula clau de llançaments apareix després de la signatura del mètode i pot contenir la llista de classes d'excepció que es poden produir en el mètode. La llista de les classes d'excepció escrites després dels llançaments de paraula clau està separada per la coma.

Prenguem un exemple per entendre la paraula clau de llançaments.

calss Test {public static void main (String args) llança InterruptException {sleep sleep (10000); }}

Al codi anterior, el fil principal es fa dormir durant algun temps mitjançant el mètode sleep (). Ara, quan el mètode principal està en suspens, és possible que els altres fils puguin interrompre el fil principal. Però, la paraula clau llança s'utilitza després de la signatura del mètode main (), de manera que el programa es compila fàcilment. La paraula clau de llançament està declarant la classe d'excepció marcada InterruptException. Ara, si qualsevol altre fil interromp el fil principal durant el temps d'execució, la paraula clau de llançaments passaria aquesta excepció al mètode de trucada del mètode principal (), que és JVM. La JVM acabaria el programa de forma anormal.

Punts que cal recordar sobre la paraula clau de llançaments:

  • La paraula clau llança només s'utilitza per declarar les classes d'excepció marcades. L’ús de la paraula clau de llançaments per a una excepció no marcada no té cap impacte.
  • Si el mètode no vol gestionar l'excepció per si sol, delega aquesta excepció en el mètode que ha trucat d'aquesta classe mitjançant la paraula clau llança.
  • El seu ús només permet una recopilació fluida del programa.
  • Si es produeix una excepció en temps d'execució, el programa finalitza anormalment, fins i tot després de l'ús de la paraula clau de llançaments.
  • Es recomana utilitzar el bloc try / catch per acabar la programació normal si es produeix una excepció en temps d'execució.

Nota:

Els llançaments de paraules clau s’utilitzen només a Java. C ++ i C # no utilitzen la paraula clau de llançaments.

  1. La paraula clau llança, lliura la responsabilitat del maneig d’excepcions a JVM manualment mentre que, la paraula clau llança, lliura la responsabilitat del maneig d’excepcions al mètode de la trucada del codi on s’ha produït una excepció.
  2. La paraula clau de llançament és seguida de l'objecte d'excepció que lliura a la JVM. D'altra banda, la paraula clau de llançaments és seguida de les classes d'excepció que es poden produir en el mètode.
  3. La paraula clau llançar pot llançar un sol objecte d’excepció alhora, mentre que, la paraula clau llança pot declarar diverses classes d’excepció separades per una coma alhora.

Conclusió:

La paraula clau de llançament s'utilitza millor per a l'excepció personalitzada. El bloc try / catch és el més adequat per gestionar les excepcions en comparació amb la paraula clau de llançaments.