Menu
Coddy logo textTech

Try-Catch 기본

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

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

try-catch 블록의 기본 구조는 다음과 같습니다:

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

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

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

challenge icon

챌린지

쉬움

세 개의 인수를 받는 divideNumbers라는 이름의 메서드를 생성하세요:

  1. 첫 번째 숫자를 나타내는 문자열 (num1)
  2. 두 번째 숫자를 나타내는 문자열 (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실력 점검

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

논리와 흐름의 모든 레슨