위키득계정 ↗
기술

Thiserror

Thiserror기술
주요 언어
Rust
주요 역할
오류 트레이트 구현 생성
대상 형식
구조체와 열거형
구현 규약
표준 Error와 Display
Thiserror는 Rust의 사용자 정의 오류 형식에 표준 Error 트레이트 구현을 생성하는 라이브러리다. 구조체와 열거형에 속성을 지정해 오류 메시지와 원인 연결 및 변환 규칙을 표현한다.

전용 오류 형식의 정의

응용이나 라이브러리에서 필요한 오류 종류를 구조체나 열거형으로 정의한다. derive 매크로가 표준 Error 구현을 생성한다. 결과는 표준 트레이트를 직접 구현한 경우와 같아 호출자가 Thiserror 고유의 오류 형식을 사용해야 하는 것은 아니다.

메시지와 원인 오류

error 속성의 메시지로 Display 구현을 만들고 필드의 값을 메시지에 넣을 수 있다. source 속성이나 정해진 필드 이름으로 원인 오류를 지정한다. 겉으로 표현하는 오류와 그 아래에서 발생한 원인을 연결하는 방식이다.

변환과 투명한 전달

from 속성은 다른 오류 형식에서의 변환 구현을 생성하고 해당 필드를 원인 오류로 취급한다. transparent 설정은 내부 오류의 메시지와 원인을 그대로 전달한다. 오류를 하나의 공통 형식으로 모으는 Anyhow와 함께 사용할 수도 있다.

관련 문서

Anyhow / Rust / API / 디버깅 / 소프트웨어 / 컴파일러