오류 상황의 정의와 경계 원칙

노트 유형: Cloze

Text

오류 상황 = {{c1::happy path를 벗어나는 상황}} (언어의 Exception과 헷갈리니 “예외 상황” 대신 이 용어 사용)

  • 예측한 오류 상황의 처리는 {{c2::기능의 일부}} / 예측 못한 오류 상황은 {{c3::버그}} — 미리 코드로 대응하지 못했으므로 고치고 다시 빌드
  • 경계 원칙: 내 시스템 안에 들어온 데이터는 {{c4::언제나 유효하다고 가정}}, 남으로부터 받아오는(통제 불가) 데이터는 {{c5::경계에서 유효성 검증 — 잘못되면 거부하고 남에게 알림}}
  • 경계에서 남에게 알리는 방법 3가지: {{c6::boolean·null 반환 / 오류 코드 반환 / 예외 던지기}}

Back Extra

  • 가장 중요한 것은 애초에 오류 상황을 피하는 것 — 오류 상황 없이 일직선으로 진행되는 코드가 최고 (예: 파일 열기 전에 존재 확인)

출처: https://pocu-site.pages.dev/pocu-note/COMP2500/013-exception/013-015-error-vs-exceptional-situation/