develooper Front page | perl.perl6.users | Postings from October 2018

Re: Appropriate last words

Thread Previous | Thread Next
From:
Richard Hainsworth
Date:
October 21, 2018 10:08
Subject:
Re: Appropriate last words
Message ID:
5be979f6-eb87-e259-63d6-690253e5a123@gmail.com
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 <rnhainsworth@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 <1parrota@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).
>>>
>>>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About