Skip to content

Commit 87d2184

Browse files
committed
fix(executor): group execution rescue & wrap rescue for error handler
1 parent feef890 commit 87d2184

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/cling/executor.cr

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,21 +57,21 @@ module Cling::Executor
5757
resolved_command,
5858
resolved_command.pre_run(executed.parsed_arguments, executed.parsed_options)
5959
)
60-
rescue ex : ExitProgram
61-
return ex.code
62-
rescue ex
63-
resolved_command.on_error ex
64-
end
6560

66-
finalize resolved_command, executed
61+
finalize resolved_command, executed
6762

68-
begin
6963
resolved_command.run executed.parsed_arguments, executed.parsed_options
7064
resolved_command.post_run executed.parsed_arguments, executed.parsed_options
7165
rescue ex : ExitProgram
7266
return ex.code
7367
rescue ex
74-
resolved_command.on_error ex
68+
begin
69+
resolved_command.on_error ex
70+
rescue ex : ExitProgram
71+
return ex.code
72+
rescue ex
73+
raise ExecutionError.new "Error while executing command error handler:\n#{ex.message}", cause: ex
74+
end
7575
end
7676

7777
0

0 commit comments

Comments
 (0)