반응형
1. 코드에서 직접 예외 발생시키기
C#에서는 throw 키워드로 예외를 강제로 발생시킬 수 있습니다.
throw new System.IO.FileNotFoundException("테스트용 예외입니다.", "dummy.txt");
- 첫 번째 인자: 메시지
- 두 번째 인자: 파일 이름 (선택)
이 코드를 실행하면 디버그 모드에서 FileNotFoundException 이 발생합니다.
2. 디버거에서 특정 예외 중단 설정 (break on exception)
예외를 직접 발생시키지 않아도, VS2022에서 특정 예외가 던져질 때 무조건 멈추게 할 수 있습니다.
- 메뉴 → 디버그(Debug) → 예외 설정(Exception Settings) 열기
- Common Language Runtime Exceptions 펼치기
- System.IO.FileNotFoundException 체크하기
- 체크하면 이 예외가 발생하는 순간 코드 줄에서 디버거가 중단(break) 합니다.
- 해제하면 프로그램이 catch 에서만 멈춥니다.
3. 디버그 전용 코드로만 실행시키기
디버그 모드에서만 테스트 예외를 발생시키려면 전처리기 지시문을 씁니다:
#if DEBUG throw new System.IO.FileNotFoundException("디버그 모드에서 강제로 발생시킨 예외입니다.", "debug_test.txt"); #endif
- 릴리스 빌드에서는 실행되지 않습니다.
- 디버깅할 때만 강제로 예외를 확인할 수 있습니다.
4. 실제 상황 재현하기
진짜로 FileNotFoundException 을 보고 싶다면, 없는 파일을 읽게 하면 됩니다:
string filePath = "C:\\없는파일.txt"; string content = System.IO.File.ReadAllText(filePath); // 여기서 FileNotFoundException 발생
✅ 정리
- 즉시 테스트 → throw new FileNotFoundException(...)
- 디버그 모드 한정 → #if DEBUG throw ...
- 실제 케이스 재현 → 없는 파일을 읽기 시도
- VS2022 설정으로 제어 → Exception Settings 창에서 FileNotFoundException 체크
반응형