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 절에서 잡아 예외 처리했습니다.