오류 조건 테스트
업데이트: 2007년 11월
이 항목은 다음 언어에 적용됩니다.
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
네이티브 전용 |
|||
Standard |
네이티브 전용 |
|||
Pro 및 Team |
네이티브 전용 |
표의 범례:
해당 |
|
해당 없음 |
|
명령은 기본적으로 숨겨져 있습니다. |
처리할 오류가 있는 코드의 한 지점에서 어설션을 사용하여 오류 조건을 테스트할 수 있습니다. 다음 예제에서는 그래픽 루틴이 오류 코드 또는 0을 성공적으로 반환합니다.
myErr = myGraphRoutine(a, b);
/* Code to handle errors and
reset myErr if successful */
ASSERT(!myErr); -- MFC version
_ASSERT(!myErr); -- CRT version
오류 처리 코드가 제대로 작동하면 오류가 처리되고 어설션에 도달하기 전에 myErr가 0으로 다시 설정되어야 합니다. myErr의 값이 0이 아닌 경우 어설션 오류가 발생하고 프로그램은 중지되며 어설션 오류 대화 상자가 나타납니다.
그러나 어설션 문이 오류 처리 코드를 대체하지는 않습니다. 다음 예제는 최종판 코드에서 문제가 될 수 있는 어설션 문을 보여 줍니다.
myErr = myGraphRoutine(a, b);
/* No Code to handle errors */
ASSERT(!myErr); // Don't do this!
_ASSERT(!myErr); // Don't do this, either!
이 코드는 어설션 문에 따라 오류 조건을 처리합니다. 따라서 최종판 코드에서는 myGraphRoutine이 반환한 어떠한 오류 코드도 처리되지 않습니다.