Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 체크된 예외와 체크되지 않은 예외

<시간/>

체크 또는 체크되지 않은 컨텍스트에서 C#의 명령문을 실행할 수 있습니다.

Checked에서는 산술 오버플로에 의해 예외가 발생하지만, Unchecked 컨텍스트에서는 산술 오버플로가 무시됩니다.

확인된 예외

정수 유형 산술 연산 및 변환에 대한 오버플로 검사를 명시적으로 활성화하려면 checked 키워드를 사용하십시오. 이를 위해 체크된 키워드를 설정하면 됩니다.

오버플로 검사는 컴파일러 옵션, 환경 구성 또는 checked 키워드를 사용하여 활성화할 수 있습니다.

res = checked(val + 10);

val의 값이 2147483647, 즉 int 유형의 최대 값이라고 가정해 보겠습니다. 위의 내용은 확인되었기 때문에 오류가 발생합니다. 이렇게 하면 런타임에 오버플로 검사가 가능합니다.

확인되지 않은 예외

정수형 산술 연산 및 변환에 대한 오버플로 검사를 방지하려면 unchecked 키워드를 사용합니다. 이를 위해 체크되지 않은 키워드를 설정하면 됩니다.

여기에서 산술 오버플로는 무시됩니다. 오버플로 검사를 방지하기 위해 사용합니다.

res =unchecked(val + 10);

val의 값이 2147483647이라고 가정해 봅시다. 위의 내용은 unchecked 키워드를 사용하여 오버플로 검사를 방지하므로 오류가 발생하지 않습니다.