CodeGym /Java blog /Véletlen /Java Catch több kivétel
John Squirrels
Szint
San Francisco

Java Catch több kivétel

Megjelent a csoportban
Mielőtt megismerné a több kivétel elfogását, ismernie kell a Java alapvető kivételkezelését . A továbbiakban feltételezzük, hogy ismeri a Java try and catch blokkját.

Miért van szükségünk több fogási blokkra a Java-ban?

A Java több fogási blokkja a különböző típusú kivételek kezelésére szolgál. A Java 7 elindítása előtt szükségünk volt egy speciális fogási blokkra, hogy elkapjunk egy adott kivételt. Ez redundáns kódblokkokat hozott létre, és így nem hatékony megközelítést eredményezett. Vessen egy pillantást a következő példára, hogy szemtanúja legyen a kivételeknek. Külön fogási blokkokat használ a különböző kivételekhez.

Példa különálló fogóblokkok használatára


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

Kimenet

A spektrum összes színe: [7, 6, 5, 4, 3, 2, 1] Kivétel tapasztalható java.lang.ArithmeticException: / nullával ---- A kód többi része itt fut le----
Amint látható, a fenti példában egy másik blokk kerül végrehajtásra, amikor kivételt dob. Létezik egy hatékonyabb módszer több kivétel elfogására ugyanazon kódblokk használatával a különböző típusú kivételek elkapására. Vessen egy pillantást a következő példára.

Példa a Multiple Catch Block használatára Java-ban


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

Kimenet

A 13. sor megjegyzését törölheti, ha kinyomtatja az egyéb kivételeket.
A spektrum összes színe: [7, 6, 5, 4, 3, 2, 1] Kivétel tapasztalható java.lang.ArithmeticException: / nullával ---- A kód többi része itt fut le----

Következtetés

Ez egy gyors áttekintés volt a java catch multiple kivételek blokk használatáról. Kihívásként próbálja kinyomtatni a szülő és a gyermek kivételt ugyanabban a blokkban. Arra ösztönöznek, hogy tanulj és gyakorolj a fejlődéshez. Egészséget és jó tanulást!
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION