본문 바로가기
카테고리 없음

Visual Studio 2022 디버그 모드에서 FileNotFoundException 같은 예외를 강제로 발생시키는 방법

by 공부봇 2025. 9. 2.
반응형

1. 코드에서 직접 예외 발생시키기

C#에서는 throw 키워드로 예외를 강제로 발생시킬 수 있습니다.

 
throw new System.IO.FileNotFoundException("테스트용 예외입니다.", "dummy.txt");
  • 첫 번째 인자: 메시지
  • 두 번째 인자: 파일 이름 (선택)

이 코드를 실행하면 디버그 모드에서 FileNotFoundException 이 발생합니다.


2. 디버거에서 특정 예외 중단 설정 (break on exception)

예외를 직접 발생시키지 않아도, VS2022에서 특정 예외가 던져질 때 무조건 멈추게 할 수 있습니다.

  1. 메뉴 → 디버그(Debug)예외 설정(Exception Settings) 열기
  2. Common Language Runtime Exceptions 펼치기
  3. 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 체크

 

반응형