Tour of Rust 목차

실패할 수 있는 메인 다시 보기

Rust 코드에는 많고도 많은 오류 표현 방법이 있지만, 그 중에도 standard library에는 오류를 설명하기 위한 범용 trait인 std::error::Error가 있습니다.

smart pointer인 Box를 사용하면 Box<dyn std::error::Error>를 오류 리턴 시 공통된 자료형으로 사용할 수 있는데, 이는 오류를 heap에 전파하고 특정한 자료형을 몰라도 고수준에서 상호작용할 수 있도록 해주기 때문입니다.

Tour of Rust 초반에 main은 오류를 리턴할 수 있다고 배웠습니다. 이제 우리는 오류의 데이터 구조가 Rust의 일반적인 Error trait을 구현하는 한, 프로그램에서 발생할 수 있는 거의 모든 종류의 오류를 설명할 수 있는 자료형을 리턴할 수 있습니다.

fn main() -> Result<(), Box<dyn std::error:Error>>