logo

Java'da İstisna Mesajını Yazdırmanın Farklı Yolları

Bu bölümde öğreneceğiz Java'da istisna mesajları nasıl yazdırılır farklı yöntemler kullanılarak Java Fırlatılabilir sınıf . Throwable sınıfı, istisna mesajını yazdırmak için aşağıdaki üç yöntemi sağlar:

  • printStackTrace Yöntemini Kullanma
  • getMessage() Yöntemini Kullanma
  • toString() Yöntemini Kullanma
Java'da İstisna Mesajını Yazdırmanın Farklı Yolları

Tek tek ayrıntılı olarak tartışalım.

printStackTrace() Yöntemini Kullanma

Yığın İzi yazdır() yöntem şurada tanımlanır Fırlatılabilir Java.lang paketine ait sınıf. Yöntem yazdırır isim, açıklama (örneğin / sıfıra yakın ), ve yığın izleme (istisnanın ortaya çıktığı satır numarası ve sınıf adı). Yığın izleme, bir sonraki istisnanın nerede oluştuğunu izler. İstisna mesajını yazdırmak için yaygın olarak kullanılır.

printStackTrace() yönteminin üç sürümü vardır:

dize uzunluğu Java
Sözdizimi Tanım
Yığın İzi yazdır() Yöntem, bu atılabilir öğeyi ve bunun standart hata akışına geri izlemesini yazdırır.
genel geçersiz printStackTrace(PrintStream s) Yöntem, atılabilir yazdırır ve belirtilen yazdırma akışına geri izleme yapar.
genel geçersiz printStackTrace(PrintWriter s) Yöntem, atılabilir yazdırır ve belirtilen yazdırma yazıcısına geri izleme yapar.

printStackTrace() yönteminin konseptini anlamak için öncelikle bir Java sıfıra bölünme istisnasını gündeme getiren program. Bu programda istisnayı yazdırmak için printStackTrace() yöntemini kullanmayacağız.

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(); } } 

Yukarıdaki programı çalıştırdığımızda şunu elde ederiz: aritmetik istisna ve konsolda aşağıdaki mesaj yazdırılır:

Java'da İstisna Mesajını Yazdırmanın Farklı Yolları

Yukarıdaki mesajda hangi satırın istisna attığını belirtemiyoruz. Bu nedenle istisnaların nerede oluştuğunu bulmak zordur. Bu sorunun üstesinden gelmek için printStackTrace() yöntemini kullanıyoruz. Bir Java programında printStackTrace() yöntemini kullanalım.

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(); } } 

Yukarıdaki programı çalıştıralım.

Java'da İstisna Mesajını Yazdırmanın Farklı Yolları

Yukarıdaki istisna mesajı, hangi yöntemin bir istisna oluşturduğunu, hangi istisna türünün olduğunu ve hangi satırın bir istisna attığını açıkça gösterir.

Mesajın ilk satırı programın bir attığını gösteriyor java.lang.ArithmeticException (sıfıra bölme). İkinci satır, satırda istisnaların oluştuğunu gösterir 9 vedivide() yöntemi bir istisna atar. Üçüncü satır, satırdaki bu istisnayı gösterir yirmi bir . main() yöntemi aynı zamanda bir istisna atar çünküdivide() yöntemi main() yönteminin içinde çağrılır. Bu nedenle, Yığın İzi yazdır() yöntemini kolaylıkla belirtebiliriz. tam konum istisnadan.

java liste dizisi

getMessage() Yöntemini Kullanma

getMessage() yöntem de tanımlanmıştır Fırlatılabilir Java.lang paketine ait sınıf. Yöntem yalnızca bir özel durumun iletisini yazdırır. Ne istisnanın adını ne de açıklamasını yazdırır. İstisna mesajını yazdırmak için yaygın olarak kullanılır.

Sözdizimi:

 public String getMessage(); 

Bu Atılabilir örneğin ayrıntılı mesaj dizesini döndürür. Boş olabilir.

Bir Java programında getMessage() yöntemini kullanalım.

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); } } } 

Yukarıdaki programı çalıştıralım.

Java'da İstisna Mesajını Yazdırmanın Farklı Yolları

Yalnızca istisnayı yazdırdığını gözlemliyoruz. Bu nedenle, bir istisnanın ayrıntılı açıklamasını yazdırmadığından yaygın olarak kullanılmaz.

toString() Yöntemini Kullanma

toString() yöntemi Fırlatılabilir sınıf geçersiz kılar toString() Object sınıfının yöntemi. Bir istisnanın kısa açıklamasını yazdırır. Diğer bilgileri (istisna adı ve yığın izleme gibi) göstermez. İstisna mesajını yazdırmak için yaygın olarak kullanılmaz.

Bir Java programında toString() yöntemini kullanalım.

PrintExceptionMessage4.java

3. çeyrekte hangi aylar var
 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); } } } 

Yukarıdaki programı çalıştıralım.

Java'da İstisna Mesajını Yazdırmanın Farklı Yolları

Yukarıdaki mesajda istisnanın sadece adını ve tipini yazdırdığını gözlemliyoruz. Hangi satır istisnasının oluştuğunu göstermez.

Java'da istisna mesajını yazdırmanın farklı yollarını gördük. kullanmanızı öneririz. Yığın İzi yazdır() yöntem, çünkü bir istisnanın oluştuğu konuma işaret eder.