[Rust] 17. Panic! (복구 불가능한 에러 처리)
프로그래밍 언어/Rust2023. 2. 25. 11:48
Panic!
Rust는 에러 처리 부분을 복구 가능한 에러와 복구 불가능한 에러를 구분해서 처리한다.
복구 가능한 에러는 Result<T, E>로 처리하고, 복구 불가능한 에러는 panic!으로 처리한다.
panic! 매크로가 호출되면 실패 메세지를 출력하고, 스택을 되감고 청소하고, 그 후 프로그램 실행이 종료된다.
Panic! 매크로 사용 예제
fn main()
{
panic!("crash and exit!");
}
abort 처리
panic! 매크로의 경우 스택 되감기와 청소로 인해 프로그램으로서는 부담되는 일이 된다. 이를 대안하기 위해 abort 라는 것이 있는데 이는 스택되감기 등 뒷처리를 하지 않고 바로 종료시켜버리는 옵션이다. 이후 처리되지 않은 작업들은 OS에 넘기게 된다.
abort를 사용하기 위한 설정방법
Cargo.toml 파일 내에서 [profile] 색션에 아래와 같은 한줄을 추가하면 된다.
Cargo.toml 파일
[profile.release]
panic = 'abort'
'프로그래밍 언어 > Rust' 카테고리의 다른 글
[Rust] 19. 제너릭(Generic) (0) | 2023.03.02 |
---|---|
[Rust] 18. Result<T, E> (복구 가능한 에러 처리) (0) | 2023.02.28 |
[Rust] 16. Visual Studio Code + Rust 개발 환경 구축 (0) | 2023.02.22 |
[Rust] 15. Hashmap (해쉬맵) (0) | 2023.02.19 |
[Rust] 14. String (문자열) (0) | 2023.02.18 |