評価9: エラーハンドリング
評価の目的
学習者がZigのエラーハンドリングシステムを正しく理解し、堅牢なコードを書けるかを評価します。
学習目標
- エラーセットの定義と使用を理解する
- try/catch構文を正しく使用できる
- errdeferでリソース管理ができる
- エラーの伝播と処理パターンを習得する
- [ ] エラーを握りつぶしていない
- [ ] errdeferの順序が正しい
- [ ] anyerrorを乱用していない
- [ ] エラー時のクリーンアップが完全
- [ ] エラーメッセージが有用
- 必須要件で64点以上(80%)
- メモリリークがないこと
評価項目
必須要件 (80点)
| 項目 | 配点 | 基準 |
|---|---|---|
| エラーセット定義 | 20点 | 適切なエラー型を定義 |
| try の使用 | 20点 | エラー伝播が正しい |
| catch の使用 | 20点 | エラー処理が適切 |
| errdefer | 20点 | リソースクリーンアップが正しい |
ボーナス要件 (20点)
| 項目 | 配点 | 基準 |
|---|---|---|
| エラーセット合成 | 10点 | でのセット結合 |
| カスタムエラーメッセージ | 10点 | エラー情報の付加 |