Thanks for reporting!

Turns out this isn’t actually a bug, but the way shell() works.  As Jonathan 
explained at:

  https://irclog.perlgeek.de/perl6-dev/2017-04-04#i_14372945

the shell() function returns a Proc object.  This only throws the shelling out 
failed and the Proc object is sunk.

So ENOTABUG.

> On 4 Apr 2017, at 11:52, brian d foy (via RT) <perl6-bugs-follo...@perl.org> 
> wrote:
> 
> # New Ticket Created by  "brian d foy" 
> # Please include the string:  [perl #131097]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org/Ticket/Display.html?id=131097 >
> 
> 
> I originally asked about this on Stackoverflow
> (http://stackoverflow.com/q/43199427/2766176)
> 
> This `try` catches the exception:
> 
>    try die X::AdHoc;
>    say "Got to the end";
> 
> The output shows that the program continues:
> 
>     Got to the end
> 
> If I attempt it with `shell` and a command that doesn't exit with 0,
> the `try` doesn't catch it:
> 
>    try shell('/usr/bin/false');
>    say "Got to the end";
> 
> The output doesn't look like an exception:
> 
>    The spawned command '/usr/bin/false' exited unsuccessfully (exit code: 1)
>      in block <unit> at ... line ...
> 
> What's going on that this makes it through the `try`?
> 
> --- Perl variables ---
> Perl:       Perl 6
> Executable: perl6
> Flavor:     Rakudo 2017.01
> VM:         MoarVM 2017.01
> Distro:     macosx
> Kernel:     darwin
> PERL6LIB:
> 
> --- Other Environment ---
> LANG: en_US.UTF-8
> LANGUAGE: en_US.UTF-8
> LC_ALL: en_US.UTF-8
> LESSCHARSET: utf-8
> LOCALE_I_WANT: en_US.UTF-8
> LOCAL_PATH: /usr/local/bin
> SHELL: /bin/bash
> SHLVL: 1
> TERM: vt100
> 
> -- 
> brian d foy <brian.d....@gmail.com>
> http://www.pair.com/~comdog/

Reply via email to