Java에 try-catch 블록을 삽입하여 코드 내부에서 예외를 처리할 수 있습니다. 이 글에서는 여러 catch 블록이나 catch 블록에 대한 여러 인수를 사용하여 단일 try 블록에 대한 여러 예외를 처리하는 방법을 살펴보겠습니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
Java의 다중 Catch 블록 구문은 다음과 같습니다.
구문 1: 간단한 try-catch 블록
try { //code snippet which might responsible for exceptions } catch (<type_of_exception> <name_of_exception_object>) { //here we handle exceptions }
구문 2: 다중 catch 블록이 있는 try-catch 블록
try { //code snippet which might responsible for exceptions } catch (<type_of_exception> <name_of_exception_object>) //catch block 1 { //here we handle exceptions } catch (<type_of_exception> <name_of_exception_object>) //catch block 2 { //here we handle exceptions } catch (<type_of_exception> <name_of_exception_object>) //catch block 3 { //here we handle exceptions }
구문 3: catch 블록의 인수로 여러 catch 문을 사용하는 try-catch 블록
try { //code snippet which might responsible for exceptions } catch (<type_of_exception1> | <type_of_exception2> | <type_of_exception3> <name_of_exception_object>) { //here we handle exceptions }
처음에는 catch 블록으로 이동하기 전에 try 블록을 확인해야 합니다.
예외가 발생할 수 있는 코드 조각이 포함되어 있습니다. 따라서 코드에서 예외가 발생할 수 있다고 의심될 때마다 해당 코드 조각을 try 블록 안에 넣으세요. try 블록에는 적어도 하나의 catch 블록이 필요합니다.
해당 try 블록 내에 작성된 코드에서 발생할 수 있는 예외를 처리하는 코드 조각이 포함되어 있습니다. 이제 여러 예외가 있는 경우 이를 처리하는 방법은 무엇입니까?
두 가지 방법을 취할 수 있습니다.
생성자 내부에 try-catch 블록을 작성할 수도 있으며 이는 예상대로 작동합니다. 아래 예에서는 try 생성자 내부에 코드를 작성합니다. try 블록은 catch 블록에서 처리되는 산술 예외를 생성합니다.
public class MultipleCatchBlockInConstructor { MultipleCatchBlockInConstructor() { try { int num=6/0; } catch(ArrayIndexOutOfBoundsException excp) { System.out.println("Exception is : "+excp); } catch(ArithmeticException excp) { System.out.println("Exception is : "+ excp); } } public static void main(String[] args) { MultipleCatchBlockInConstructor mc=new MultipleCatchBlockInConstructor(); } }
출력:
이 섹션에서는 다양한 코드 예제에 대해 설명합니다. 이 코드를 직접 시도해보고 주어진 코드와 출력을 합산해야 합니다.
이것은 다중 catch 블록의 간단한 예입니다. 여기서는 try 블록 내에서 예외를 생성하는 명령문을 작성했습니다. 이 예외는 세 개의 catch 블록 중 해당 catch 블록에 의해 처리됩니다.
코드:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); int num = 6/0; } catch(ArithmeticException e) { System.out.println("divide by zero exception "); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("ArrayIndexOutOfBounds Exception occurs"); } catch(Exception e) { System.out.println("Any other excpetion"); } System.out.println("end of try-catch block"); } }
출력:
이 예에서는 try 및 catch 블록을 통해 배열에 대한 범위를 벗어난 예외 처리에 대해 설명했습니다.
코드:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); int arr[]=new int[6]; System.out.println(arr[12]); //we want to access 12th element of array which does not exist as size is of 6 } catch(ArithmeticException e) { System.out.println("divide by zero exception"); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array IndexOutOfBounds Exception occurs"); } catch(Exception e) { System.out.println("Any other exception"); } System.out.println("end of try-catch block"); } }
출력:
이 예에서는 catch 블록이 null 포인터를 처리하는 방법을 살펴보겠습니다. 또한 try 블록에는 여러 가지 예외 시나리오가 있지만 프로그램 흐름이 첫 번째 예외 생성 문(여기서는 Nullpointer 예외)에 도달하면 즉시 try 블록에서 벗어나 catch 블록에서 예외 처리기를 검색합니다. try 블록 내부의 다른 예외 생성 문(여기서는 Array index out ofbound 예외)은 무시됩니다.
코드:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); String str=null; System.out.println(str.length()); //we want to get length of a null string int arr[]=new int[6]; System.out.println(arr[12]); //we want to access 12th element of array which does not exist as size is of 6 } catch(ArithmeticException e) { System.out.println("divide by zero exception"); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array IndexOutOfBounds Exception occurs"); } catch(NullPointerException e) { System.out.println("Null pointer Exception occurs"); } System.out.println("end of try-catch block"); } }
출력:
이 예에서는 단일 catch 블록의 여러 인수가 예외를 어떻게 처리하는지 확인합니다.
코드:
public class MultipleCatchBlockInJava { public static void main(String[] args) { try{ System.out.println("start of try block"); String str=null; System.out.println(str.length()); //we want to get length of a null string int arr[]=new int[6]; System.out.println(arr[10]); //we want to access 10th element of array which does not exist as size is of 6 } catch(ArithmeticException | ArrayIndexOutOfBoundsException | NullPointerException e ) { System.out.println("Code is throwing " + e); } System.out.println("end of try-catch block"); } }
출력:
이것으로 Java 프로그래밍 관점에서 여러 catch 블록에 대한 학습을 마칩니다. 요약하자면 여러 예외를 처리해야 할 때마다 여러 catch 블록 안에 해당 예외를 작성할 수 있습니다. 또는 Java 7 이상의 경우 단일 catch 블록 인수에 여러 예외를 작성할 수 있으며 프로그램 흐름이 이를 자동으로 선택합니다. 또한 코드를 직접 작성하는 것이 이해를 돕기 위해 중요합니다.
위 내용은 Java의 다중 캐치 블록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!