Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Impossible to handle shell exceptions with shell(),

Ouverte
#1,022 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java
Domaine
cli, tooling

Piste de recherche

Aucun fichier source ni test n’est nommé. Commencez par retracer l’implémentation de shell() et le chemin de gestion des exceptions de try(); examinez ensuite comment ShellException renseigne son message et comment exception[1] est exposée. C’est terminé lorsque les échecs de shell rendent le stderr de la commande disponible via la valeur d’exception documentée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

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.

Langage dominant
Java
Étoiles
128
Forks
70
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de EngineHub/CommandHelper

Toutes les issues de EngineHub/CommandHelper

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.