Error boundary

예상 가능한 실패는 Result, 버그 신호는 panic으로 분리한다

`panic!`은 복구 전략이 아니라 실행을 멈추는 신호입니다. 발생 뒤에는 청소 방식과 추적 방식을 선택합니다.

발생 전 판단

01

사용자가 고칠 수 있는가

파일 없음, 입력 오류처럼 재시도 가능한 문제는 `Result`로 호출자에게 돌려줍니다.

02

불변식이 깨졌는가

범위 밖 인덱스처럼 계속 실행하면 더 위험한 상태는 즉시 멈춥니다.

발생 후 처리

unwind

스택을 되감으며 정리

기본 동작입니다. 각 프레임의 값을 정리한 뒤 종료합니다.

abort

즉시 종료

바이너리 크기를 줄이고 싶을 때 `panic = 'abort'`로 선택합니다.

trace

직접 작성한 프레임 찾기

`RUST_BACKTRACE=1` 출력은 위에서부터 읽되, 내 파일이 처음 보이는 줄을 우선 확인합니다.

실전 기준: 실패를 정상 흐름으로 설명할 수 있으면 `Result`, 프로그램의 전제가 깨져 더 진행하면 안 되면 `panic!`입니다.