# New Ticket Created by mt1957 # Please include the string: [perl #132909] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=132909 >
Hi, According to the documentation one should use the following to trap a failure when loading a module fails using require; try require ::('Foo'); note ::('Foo').Str if ::('Foo') ~~ Failure; The problem with this is that it isn't visible what is going wrong. Using plain require ::('Foo'); an exception is thrown with a proper error and stack dump. However when there are no errors in the module, there are other exceptions thrown with messages like WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was: No such symbol 'Foo' in block at ... (...) line ... ... This seems to me a bug. The only way to handle this properly is the following try { require ::('Foo'); ... CATCH { .note; } } Perl6 version: 2018.01-195-g5ae1ca51f built on MoarVM version 2018.01-89-ga01cdb449 implementing Perl 6.c. Regards, Marcel