Error — 오류를 설명하는 트레잇

Error — 오류를 설명하는 트레잇

Error는 오류 값의 기본 트레잇이에요. 오류를 설명하고, 원인(source)을 조회하거나 문자열로 표현하는 기능을 제공해요.

출처: Rust 공식 문서

본문

pub trait Error: Debug + Display {
    fn source(&self) -> Option<&(dyn Error + 'static)> { ... }
    fn description(&self) -> &str { ... }  // deprecated
    fn cause(&self) -> Option<&dyn Error> { ... }  // deprecated
    fn provide<'a>(&'a self, request: &mut Request<'a>) { ... }
}

주요 메서드

// 더 낮은 수준의 원인 오류를 반환해요(있으면).
fn source(&self) -> Option<&(dyn Error + 'static)>

이 트레잇은 DebugDisplay를 상속하므로, 오류는 항상 {}(Display)와 {:?}(Debug)로 표현되어야 해요. Box<dyn Error>, &dyn Error 등으로 다형적으로 사용할 수 있어요.

더 알아보기 (Learn more)