logo

Različni načini tiskanja sporočila o izjemi v Javi

V tem razdelku se bomo naučili kako natisniti sporočila o izjemah v Javi z uporabo različnih metod Java Throwable razred . Razred Throwable ponuja naslednje tri metode za tiskanje sporočila o izjemi:

  • Uporaba metode printStackTrace
  • Uporaba metode getMessage().
  • Uporaba metode toString().
Različni načini tiskanja sporočila o izjemi v Javi

Razpravljajmo enega za drugim podrobno.

Uporaba metode printStackTrace().

The printStackTrace() metoda je opredeljeno v Za metanje razred, ki pripada paketu java.lang. Metoda natisne ime, opis (kot naprimer / z ničlo ), in sled sklada (številka vrstice in ime razreda, kjer je prišlo do izjeme) izjeme. Sled sklada izsledi, kje se pojavi naslednja izjema. Pogosto se uporablja za tiskanje sporočila o izjemi.

Obstajajo tri različice metode printStackTrace():

rimske številke od 1 do 100
Sintaksa Opis
printStackTrace() Metoda natisne to metanje in njegovo povratno sled v standardni tok napak.
public void printStackTrace(PrintStream s) Metoda natisne throwable in njegovo povratno sled v podani tiskalni tok.
public void printStackTrace(PrintWriter s) Metoda natisne throwable in njegovo povratno sled do podanega tiskalnika.

Da bi razumeli koncept metode printStackTrace(), bomo najprej ustvarili Java program, ki je dvignil izjemo deljenja z ničlo. V tem programu za tiskanje izjeme ne bomo uporabili metode printStackTrace().

PrintExceptionMessage1.java

 public class PrintExceptionMessage1 { //user defined method public static void divide() { try { //raised divide by zero exception int a = 100/0; } catch (Exception e) { //prints exception message System.out.println(e); } } //main() method public static void main(String args[]) { //calling user defined method divide(); } } 

Ko zaženemo zgornji program, dobimo aritmetična izjema in na konzoli se natisne naslednje sporočilo:

Različni načini tiskanja sporočila o izjemi v Javi

V zgornjem sporočilu ne moremo izpostaviti, katera vrstica povzroči izjemo. Zato je težko najti, kje se pojavljajo izjeme. Za premagovanje te težave uporabljamo metodo printStackTrace(). Uporabimo metodo printStackTrace() v programu Java.

PrintExceptionMessage2.java

 public class ExceptionExample2 { //user defined method public static void divide() { try { //raised divide by zero exception int a = 100/0; } catch (Exception e) { //prints exception message and detail of the exception e.printStackTrace(); } } //main() method public static void main(String args[]) { //calling user defined method divide(); } } 

Zaženimo zgornji program.

Različni načini tiskanja sporočila o izjemi v Javi

Zgornje sporočilo o izjemi jasno prikazuje, katera metoda je sprožila izjemo, katera vrsta izjeme je in katera vrstica vrže izjemo.

Prva vrstica sporočila kaže, da program vrže a java.lang.ArithmeticException (deli z ničlo). Druga vrstica prikazuje, da se v vrstici pojavljajo izjeme 9 in metoda divide() vrže izjemo. Tretja vrstica prikazuje to izjemo v vrstici enaindvajset . Metoda main() vrže tudi izjemo, ker se metoda divide() kliče znotraj metode main(). Zato z uporabo printStackTrace() metode, lahko zlahka izpostavimo točno lokacijo izjeme.

Uporaba metode getMessage().

The getMessage() metoda je opredeljena tudi v Za metanje razred, ki pripada paketu java.lang. Metoda natisne samo sporočilo o izjemi. Ne natisne niti imena izjeme niti opisa. Pogosto se uporablja za tiskanje sporočila o izjemi.

primeri programiranja python

Sintaksa:

 public String getMessage(); 

Vrne niz podrobnega sporočila tega primerka Throwable. Lahko je nična.

Uporabimo metodo getMessage() v programu Java.

PrintExceptionMesssage3.java

 public class PrintExceptionMessage3 { public static void main(String args[]) { try { int a = 100/0; } catch (Exception e) { //prints only the message of the exception System.out.println(e.getMessage()); //use the following statement if you want to print name of the exception and which exception thrown //System.out.println(e); } } } 

Zaženimo zgornji program.

Različni načini tiskanja sporočila o izjemi v Javi

Opazimo, da natisne le izjemo. Zato se ne uporablja široko, ker ne natisne podrobnega opisa izjeme.

Uporaba metode toString().

The toString() metoda Za metanje razred preglasi toString() metoda razreda Object. Natisne kratek opis izjeme. Ne prikazuje drugih informacij (kot sta ime izjeme in sled sklada). Za tiskanje sporočila o izjemi se ne uporablja pogosto.

Uporabimo metodo toString() v programu Java.

PrintExceptionMessage4.java

 public class PrintExceptionMessage4 { public static void main(String args[]) { try { int a = 100/0; } catch (Exception e) { //we can use either of the statement to print the exception message //both prints the same message System.out.println(e.toString()); //System.out.println(e); } } } 

Zaženimo zgornji program.

Različni načini tiskanja sporočila o izjemi v Javi

V zgornjem sporočilu opazimo, da natisne le ime in vrsto izjeme. Ne poudarja, v kateri vrstici je prišlo do izjeme.

nastavitev poti python

Videli smo različne načine tiskanja sporočila o izjemi v Javi. Predlagamo, da uporabite printStackTrace() ker kaže na lokacijo, kjer se pojavi izjema.