CodeGym /Java Blogu /Rastgele /Java Çoklu İstisnaları Yakala
John Squirrels
Seviye
San Francisco

Java Çoklu İstisnaları Yakala

grupta yayınlandı
Birden fazla istisna yakalamayı öğrenmeden önce, Java'da temel istisna işlemeye aşina olmanız gerekir . İleriye dönük olarak, Java'da bir dene ve yakala bloğuna aşina olduğunuzu varsayıyoruz.

Java'da neden birden çok catch bloğuna ihtiyacımız var?

Java'daki çoklu yakalama blokları, farklı istisna türlerini işlemek için kullanılır. Java 7 başlatılmadan önce, belirli bir istisnayı yakalamak için belirli bir catch bloğuna ihtiyacımız vardı. Bu, gereksiz kod blokları oluşturdu ve dolayısıyla verimsiz bir yaklaşımla sonuçlandı. Yakalanan istisnalara tanık olmak için aşağıdaki örneğe bakın. Farklı istisna türleri için ayrı yakalama blokları kullanır.

Ayrı Yakalama Blokları kullanan örnek


import java.util.Arrays;

public class ExceptionHandler {

	public static void main(String[] args) {

		Integer[] colorsOfASpectrum = { 7, 6, 5, 4, 3, 2, 1, 0 };

		try {

			System.out.println("Total number of options on a dice are: " + Arrays.toString(colorsOfASpectrum));
		
	// 		un-comment the following line to see "Index Out of Bounds Exception"		
	//		colorsOfASpectrum[10] = 7; // Index Out of Bounds Exception
			
			System.out.println(colorsOfASpectrum[0] / 0);	// Arithmetic Exception

		} catch (ArrayIndexOutOfBoundsException e) {
			// This catch block executes in case of "Index Out of Bounds Exception"
			System.out.println("Array Index Out Of Bounds Exception " + e);
		
		} catch (ArithmeticException e) {
			// This catch block executes in case of "Arithmetic Exception"
			System.out.println("Arithmetic Exception " + e);
		}
		
		System.out.println("\n----Rest of the code executes here----");
	}
}

Çıktı

Bir spektrumdaki toplam renkler şunlardır: [7, 6, 5, 4, 3, 2, 1] Karşılaşılan İstisna java.lang.ArithmeticException: / sıfır ----Kodun geri kalanı burada yürütülür----
Gördüğünüz gibi yukarıdaki örnekte bir istisna atıldığında farklı bir blok yürütülüyor. Farklı türlerdeki istisnaları yakalamak için aynı kod bloğunu kullanarak birden çok istisnayı yakalamanın daha etkili bir yolu var. Aşağıdaki örneğe bir göz atın.

Java'da Çoklu Yakalama Bloğu kullanma örneği


import java.util.Arrays;

public class MultiExceptionHandler {

	public static void main(String[] args) {

		Integer[] colorsOfASpectrum = { 7, 6, 5, 4, 3, 2, 1 };

		try {

			System.out.println("Total colors on a spectrum are: " + Arrays.toString(colorsOfASpectrum));

	//		colorsOfASpectrum[10] = 7; // Index Out of Bounds Exception
			System.out.println(colorsOfASpectrum[0] / 0); // Arithmetic Exception

		} catch (ArrayIndexOutOfBoundsException | ArithmeticException e) {
			// We don't need two different catch blocks for different kinds of exceptions
			// Both exceptions will be handled using this multiple catch block

			System.out.println("Exception Encountered " + e);
		}
		System.out.println("\n----Rest of the code executes here----");
	}
}

Çıktı

Diğer türden istisnaları yazdırmak için 13. satırın açıklamasını kaldırabilirsiniz.
Bir spektrumdaki toplam renkler şunlardır: [7, 6, 5, 4, 3, 2, 1] Karşılaşılan İstisna java.lang.ArithmeticException: / sıfır ----Kodun geri kalanı burada yürütülür----

Çözüm

Bu, java'nın çoklu istisna bloğunu yakalamaya hızlı bir genel bakıştı. Bir meydan okuma olarak, ebeveyn ve çocuk istisnasını aynı blokta yazdırmayı deneyin. Büyümek için öğrenmeye ve pratik yapmaya teşvik ediliyorsunuz. Şerefe ve mutlu öğrenme!
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION