본문 바로가기
백엔드기술/개발언어

값이 오버플로우되는지 확인하기 - checked

by RevFactory 2009. 3. 24.
C#에서는 다양한 키워드들을 제공하는데 이번에는 아래의 약간의 특별한 키워드에 대해 포스팅 할 예정이다.

- checked / unchecked

이 키워드는 오버플로우가 일어나는지 체크하여 오버플로우시 예외를 발생시킨다. 사용법은 아래와 같다.

checked( 체크할문장 )  또는 checked { 체크할 코드 블럭 }

예제

        static void Main(string[] args)
        {
            byte b1 = 200;
            byte b2 = 100;

            try
            {
                byte b3 = checked((byte)(b1 + b2));      //byte는 0부터 255까지의 값만 가질 수 있다!
                Console.WriteLine("b3 = {0}", b3);
            }
            catch (OverflowException e)
            {
                Console.WriteLine(e.Message);
            }
        }


반면에 unchecked 키워드는 checked 를 수행하는 코드 블럭 중 일부 코드 블록에서 발생할 수 있는 오버플로우는 무시하고 지나가고 싶을때에 사용된다.

'백엔드기술 > 개발언어' 카테고리의 다른 글

VB.NET, C# and VC++ Comparison  (0) 2009.12.09
C# 정규식 예제  (1) 2009.03.17
.Net Framework 버젼별 포함된 기술들  (0) 2009.03.11