CodeGym /Java Blog /Random /Java Catch Maramihang Exceptions
John Squirrels
Antas
San Francisco

Java Catch Maramihang Exceptions

Nai-publish sa grupo
Bago matutunan ang tungkol sa pagkuha ng maraming exception, kailangan mong maging pamilyar sa basic exception handling sa Java. Sa pasulong, ipinapalagay namin na pamilyar ka sa isang try and catch block sa Java.

Bakit kailangan natin ng maramihang mga catch block sa Java?

Maramihang mga catch block sa Java ay ginagamit upang pangasiwaan ang iba't ibang uri ng mga exception. Bago inilunsad ang Java 7, kailangan namin ng isang partikular na catch block upang makahuli ng isang partikular na exception. Lumikha ito ng mga bloke ng redundant code at samakatuwid ay nagresulta sa isang hindi mahusay na diskarte. Tingnan ang sumusunod na halimbawa para masaksihan ang mga nahuli na eksepsiyon. Gumagamit ito ng hiwalay na mga catch block para sa iba't ibang uri ng mga exception.

Halimbawa gamit ang Separate Catch Blocks


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

Output

Ang kabuuang mga kulay sa isang spectrum ay: [7, 6, 5, 4, 3, 2, 1] Exception Encountered java.lang.ArithmeticException: / by zero ----Isinasagawa ang natitirang code----
Tulad ng nakikita mo, sa halimbawa sa itaas, ang ibang bloke ay isinasagawa kapag ang isang pagbubukod ay itinapon. Mayroong isang mas mahusay na paraan upang mahuli ang maraming mga pagbubukod gamit ang parehong bloke ng code para sa paghuli ng mga pagbubukod ng iba't ibang uri. Tingnan ang sumusunod na halimbawa.

Halimbawa gamit ang Multiple Catch Block sa Java


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

Output

Maaari mong alisin ang komento sa linya 13 para sa pag-print maliban sa ibang uri.
Ang kabuuang mga kulay sa isang spectrum ay: [7, 6, 5, 4, 3, 2, 1] Exception Encountered java.lang.ArithmeticException: / by zero ----Isinasagawa ang natitirang code----

Konklusyon

Ito ay isang mabilis na pangkalahatang-ideya ng paggamit ng java catch multiple exceptions block. Bilang isang hamon, subukang i-print ang magulang at ang pagbubukod ng bata sa parehong bloke. Hinihikayat kang matuto at magsanay para lumago. Cheers and happy learning!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION