더북(TheBook)

FormatException 클래스 형식의 예외받아 처리하기

Exception 클래스와 마찬가지로 FormatException 같은 클래스들은 각각 고유의 예외가 발생했을 때 해당 예외 정보를 담고 있습니다. 다음 코드에서 inputNumber에 정수 문자열이 아닌 실수 문자열을 입력하면 Convert.ToInt32() 메서드는 FormatException 형태의 에러를 발생시킵니다.

FormatException 클래스 형식의 예외받아 처리: FormatExceptionDemo.cs

using System;
using static System.Console;

class FormatExceptionDemo
{
    static void Main()
    {
        string inputNumber = "3.14";
        int number = 0;
        try
        {
            number = Convert.ToInt32(inputNumber);
            WriteLine($"입력한 값 : {number}");
        }
        catch (FormatException fe)
        {
            WriteLine($"에러 발생 : {fe.Message}");
            WriteLine($"{inputNumber}는 정수여야 합니다.");
        }
    }
}

실행 결과

에러 발생 : 입력 문자열의 형식이 잘못되었습니다.
3.14는 정수여야 합니다.

코드를 실행했더니 잘못된 값이 입력되어 FormatException 예외가 발생했고, 이를 catch 절에서 잡아 예외 처리했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.