# New Ticket Created by  Darek Cidlinsky 
# Please include the string:  [perl #131841]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131841 >


A minimal example:
        echo 'unit module Foo; die; CATCH { }' > Foo.pm6; perl6 -I.  -MFoo -e ''
That fails with a
        ===SORRY!===
        Cannot invoke this object (REPR: Null; VMNull)

With a --ll-exception switch, it yields
        Unhandled exception: concatenate requires a concrete string, but got 
null
           at gen/moar/stage2/NQPCORE.setting:840 (...path...)
           from gen/moar/stage2/NQPHLL.nqp:1735 (...)
           from src/Perl6/Compiler.nqp:42 (...)
        (...)

The same happens even if we catch the exception (and probably no matter
what the CATCH block does):
        echo 'unit module Foo; die; CATCH { default { .say } }' > Foo.pm6; 
perl6 -I.  -MFoo -e ''
And it happens no matter what the type of the exception is:
        echo 'unit module Foo; X::Proc::Unsuccessful.new.throw; CATCH { default 
{ .say } }' > Foo.pm6; perl6 -I.  -MFoo -e ''

On the other hand, if we use 'module Foo { }' or try it in a script,
everything works OK:
        perl6 -e 'die; CATCH { }'
        echo 'module Foo { die; CATCH { } }' > Foo.pm6; perl6 -I.  -MFoo -e ''

D.      

Reply via email to