EngineHub / EngineHub/CommandHelper

Impossible to handle shell exceptions with shell(),

Open
#1,022 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
128
Forks
70
PR merge metrics
No merged PRs in 30d

Description

CMDHELPER-3020 - Reported by VergilPrime

So lets say I run a command in shell(). Lets say the code is shell(@command).

I run it, something's wrong so it errors. I see "ShellException" in console, but not much else.

I want to see what the problem is so I do @output = shell(@command); sys_out(@output) to check to see what's going on. The problem is, because shell threw ShellException, sys_out(@output) will never run.

So lets say I'm a super smart cookie and I do try(@output = shell(@command), sys_out(@output)) so that sys_out() runs when shell() fails. @output is still empy.

One last thing we can try, try(shell(@command),@exception,sys_out(@exception[1])).

This should work because @exception "... is set to an array containing the following information about the exception: ... 1 - The message generated by the exception..."

and shell() "... throws a ShellException with the exception message set to the syserr output if the process exits with an exit code that isn't the expectedExitCode..."

Upon running this code we find that @exception[1] is empty.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.