diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-03-24 15:23:29 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-03-24 15:23:29 -0400 |
| commit | 17a10a6887b357e35bd2b415afa071c102d3ca55 (patch) | |
| tree | f57fd7892f0e2566a8322d1fa6207c8d626c8b87 /examples | |
| parent | b289b09bdeea84e233e26267d33e3338c8dba084 (diff) | |
Failure messages
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/commands/commands.tm | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/commands/commands.tm b/examples/commands/commands.tm index 348796d6..be18b776 100644 --- a/examples/commands/commands.tm +++ b/examples/commands/commands.tm @@ -11,17 +11,17 @@ enum ExitType(Exited(status:Int32), Signaled(signal:Int32), Failed): when e is Exited(status): return (status == 0) else: return no - func or_fail(e:ExitType -> ExitType): - if e:succeeded(): return e - fail("Program failed: $e") + func or_fail(e:ExitType, message=none:Text): + if not e:succeeded(): + fail(message or "Program failed: $e") struct ProgramResult(stdout:[Byte], stderr:[Byte], exit_type:ExitType): - func or_fail(r:ProgramResult -> ProgramResult): + func or_fail(r:ProgramResult, message=none:Text -> ProgramResult): when r.exit_type is Exited(status): if status == 0: return r - else: fail("Program failed: $r") - fail("Program failed: $r") + else: fail(message or "Program failed: $r") + fail(message or "Program failed: $r") func output_text(r:ProgramResult, trim_newline=yes -> Text?): when r.exit_type is Exited(status): |
