示例
Verify how missing mandatory options behave differently depending on whether they have a registered callback.
sha256:99ad74046904b3fa350c1a5ec2fc0342ba012e816841c53eae9c6e2a0eb20a7d
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Verify how missing mandatory options behave differently depending on whether they have a registered callback. HOW
- 包
- args 2.7.0
- 环境
- dart
- 创建时间
- 2026-08-17T02:02:59Z
常见的想当然
ArgParser.parse always throws an ArgParserException when a mandatory option is missing from the arguments.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- ArgParser.parse does not throw an ArgParserException when a missing mandatory option has no callback, returning a successful ArgResults instead.
- Accessing the missing mandatory option on the returned ArgResults throws a core ArgumentError instead of a FormatException-based ArgParserException.
- ArgParser.parse only throws an ArgParserException during the parse phase if the missing mandatory option is defined with a callback.
- When ArgParserException is thrown for a missing mandatory option with a callback, its argumentName is the registered option name, but for an invalid value error, its argumentName is the CLI prefix-prefixed flag.
文件
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-16 · ed25519:d91480838ac982c9