체크 또는 체크되지 않은 컨텍스트에서 C#의 명령문을 실행할 수 있습니다.
Checked에서는 산술 오버플로에 의해 예외가 발생하지만, Unchecked 컨텍스트에서는 산술 오버플로가 무시됩니다.
확인된 예외
정수 유형 산술 연산 및 변환에 대한 오버플로 검사를 명시적으로 활성화하려면 checked 키워드를 사용하십시오. 이를 위해 체크된 키워드를 설정하면 됩니다.
오버플로 검사는 컴파일러 옵션, 환경 구성 또는 checked 키워드를 사용하여 활성화할 수 있습니다.
res = checked(val + 10);
val의 값이 2147483647, 즉 int 유형의 최대 값이라고 가정해 보겠습니다. 위의 내용은 확인되었기 때문에 오류가 발생합니다. 이렇게 하면 런타임에 오버플로 검사가 가능합니다.
확인되지 않은 예외
정수형 산술 연산 및 변환에 대한 오버플로 검사를 방지하려면 unchecked 키워드를 사용합니다. 이를 위해 체크되지 않은 키워드를 설정하면 됩니다.
여기에서 산술 오버플로는 무시됩니다. 오버플로 검사를 방지하기 위해 사용합니다.
res =unchecked(val + 10);
val의 값이 2147483647이라고 가정해 봅시다. 위의 내용은 unchecked 키워드를 사용하여 오버플로 검사를 방지하므로 오류가 발생하지 않습니다.