Menu
CoddyTech

Try-Catch 기본

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨. 59개 중 40번째.

Java의 try-catch 블록은 프로그램 실행 중 발생할 수 있는 예외(오류)를 처리하는 데 사용됩니다. 예외를 발생시킬 수 있는 코드는 try 블록에 작성하고, 오류 처리 코드는 catch 블록에 작성합니다.

다음은 try-catch 블록의 기본 구조입니다:

try {
   // 예외를 발생시킬 수 있는 코드
} catch (ExceptionType e) {
   // 예외를 처리하는 코드
}

Integer.parseInt()를 사용해 실제로 어떻게 작동하는지 살펴보겠습니다. 이 메서드는 String을 정수로 변환합니다:

String text = "abc";
try {
   int number = Integer.parseInt(text);
   System.out.println(number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
}

위 코드를 실행하면 출력은 다음과 같습니다:

Error: Not a valid number

하나의 try 뒤에는 여러 catch 블록이 올 수 있으며, 예외 유형마다 하나씩 배치할 수 있습니다. Java는 발생한 예외와 유형이 일치하는 첫 번째 블록을 실행합니다:

try {
   int number = Integer.parseInt(text);
   System.out.println(10 / number);
} catch (NumberFormatException e) {
   System.out.println("Error: Not a valid number");
} catch (ArithmeticException e) {
   System.out.println("Error: Division by zero");
}
challenge icon

챌린지

쉬움

divideNumbers라는 이름의 메서드를 만들고 다음 세 가지 인수를 받도록 하세요:

  1. 첫 번째 숫자를 나타내는 String(num1)
  2. 두 번째 숫자를 나타내는 String(num2)
  3. 배열 인덱스를 나타내는 정수(index)

메서드는 다음을 수행해야 합니다:

  1. 크기가 2인 배열을 생성합니다
  2. 주어진 인덱스에 num1을 정수로 변환한 값과 num2를 정수로 변환한 값의 나눗셈 결과를 저장합니다
  3. 주어진 인덱스의 값을 반환합니다
  4. 발생 가능한 모든 예외를 처리하고, 대신 해당 오류 메시지를 반환합니다

반환되는 메시지는 다음과 같아야 합니다:

  • NumberFormatException인 경우: "Error: Invalid number format"
  • ArithmeticException인 경우: "Error: Division by zero"
  • ArrayIndexOutOfBoundsException인 경우: "Error: Invalid array index"
  • 작업이 성공한 경우: 결과를 문자열로 반환합니다

직접 해보기

import java.util.Scanner;

public class Main {
    public static String divideNumbers(String num1, String num2, int index) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num1 = scanner.nextLine();
        String num2 = scanner.nextLine();
        int index = Integer.parseInt(scanner.nextLine());
        
        System.out.println(divideNumbers(num1, num2, index));
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Java 컴파일러