예외처리가 필요한 이유 - 1

SungMin·2026년 6월 1일

자바 심화 정리

목록 보기
22/34

예외처리가 필요한 이유를 알기 전에 간단하게 프로그램을 만들어보자.
이 프로그램은 사용자에게 입력을 받고, 입력 받은 문자를 외부로 전송하는 프로그램이다.

package exception.ex0;

import java.util.Scanner;

public class MainV0 {
    public static void main(String[] args) {
        NetworkServiceV0 networkServiceV0 = new NetworkServiceV0();
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.print("전송할 문자: ");
            String input = scanner.nextLine();

            if (input.equals("exit")) {
                break;
            }

            networkServiceV0.sendMessage(input);
            System.out.println();
        }
        System.out.println("프로그램을 정상 종료합니다.");
    }
}


package exception.ex0;

public class NetworkClientV0 {
    private final String address;

    public NetworkClientV0(String address) {
        this.address = address;
    }

    public String connect() {
        // 연결 성공
        System.out.println(address + " 연결 성공");
        return "success";
    }

    public String send(String data) {
        // 전송 성공
        System.out.println(address + " 서버에 데이터 전송: " + data);
        return "success";
    }

    public void disconnnect() {
        System.out.println(address + " 서버 연결 해제");
    }
}


package exception.ex0;

public class NetworkServiceV0 {
    public void sendMessage(String data) {
        String address = "http://example.com";
        NetworkClientV0 client = new NetworkClientV0(address);

        client.connect();
        client.send(data);
        client.disconnnect();
    }
}

Main은 사용자에게 문자열을 입력받아 NetworkService에 전달한다.

NetworkService는 NetworkClient를 생성한 후,

  1. 서버에 연결(connect)
  2. 데이터 전송(send)
  3. 서버 연결 종료(disconnect)

순서로 작업을 수행한다.

현재 버전(V0)은 모든 작업이 정상적으로 성공한다고 가정하고 작성되었다.

그렇지만 실제로는

  • 서버 연결 실패
  • 데이터 전송 실패
  • 연결 해제 중 오류 발생

같은 오류가 발생할 수 있다.

따라서, 예외처리가 필요한 이유는 이런 비정상적인 상황에서도 프로그램이 정상적으로 작동할 수 있도록 하기 위해서다.

profile
오늘도 한 걸음씩 나아가

0개의 댓글