I am trying to find a way to send a message via STDERR to a user, and to
exit, but to eliminate the backtrace printing.
so .. either I use your suggestion of 'exit note $message' which I find
elegant, but so far difficult to test.
(I tried timo's suggestion of &*EXIT = -> | { die 'exited' }
but then I cant work out how to get the message. I've been looking at
Zoffix's Test::Output, but not
or .. change the default exception handler. However, I only want to
change the way the fatal exception is handled for the class that I am
writing.
Eg.
class conditions {
has $!dir = 'path';
has @!files = ();
...
method check-dir {
die 'directory not present' unless $!dir.IO ~~ :d;
# I would like here exit note 'directory not present' ...
}
method check-files {
die 'no files yet' unless +@!files;
}
This may not yet be the right approach to get what I want.
On 21/10/18 17:32, Elizabeth Mattijsen wrote:
I’m not sure what you mean by: "How do I attach a default CATCH to all methods
in the class.”. What are you trying to achieve?
On 21 Oct 2018, at 10:35, Richard Hainsworth <rnhainswo...@gmail.com> wrote:
This sounds great.
So I am writing a class verifies conditions, and dies when conditions are not
met.
How do I attach a default CATCH to all methods in the class.
Or do I need to define my own Exception.
On 04/09/18 04:48, Curt Tilmes wrote:
On Mon, Sep 3, 2018 at 4:28 PM Parrot Raiser <1parr...@gmail.com> wrote:
If I understand that correctly, "die" needs to be documented as always
outputting the line number, and that for user-oriented messages, one
of the other techniques should be used.
die throws the Exception -- you can CATCH it and handle it how you like,
including printing the message without line numbers.
(Or, for example, print the backtrace during development, but a simpler error
message in operations).