| ビジネスルール違反 | 引数の不正 (IllegalArgumentException) | | 外部システムエラー | 状態の矛盾 (IllegalStateException) | | 権限不足・リソース競合 | 到達不可コード (unreachable) |
| TypeScript | neverthrow | Result のみで十分な場合(軽量・シンプル) | | TypeScript | fp-ts | 関数型全般を使う場合(Option, Task, IO, Reader 等) | | JavaScript | neverthrow | TypeScript と同様 | | Rust | 標準 Result | 常にこれを使用。エラー定義には thiserror | | Go | 標準 (T, error) | Go らしいシンプルなコードを書く場合 | | Go | samber/mo | Result/Either でチェーン処理したい場合 | | Scala | 標準 Either[L, R] | 標準で十分。cats は大規模 FP 向け |
| Java | vavr.io Either | 関数型コレクションも使うなら vavr 一択 | | Python | returns (dry-python) | 本番環境向け。型アノテーション充実 | | Python | result | 軽量。Rust ライクなシンプルな API |
오류 처리 모범 사례를 적용하는 기술입니다. 복구 가능한 오류를 설계하고, 둘 중 하나/결과 유형을 사용하고, 도메인 및 시스템 오류를 적절하게 분류하는 데 도움이 됩니다. 코드 검토, 새로운 구현 또는 오류 처리 패턴 개선이 필요한 리팩토링 중에 사용하세요. 대상 언어: Go, Rust, Scala, Java, TypeScript, JavaScript, Python. 트리거: "오류 처리 개선", "결과 유형 사용 원함", "예외 설계 검토" 또는 "복구 가능한 오류 설계"와 같은 요청. 출처: j5ik2o/okite-ai.