I've looked at your code. My recommendation would be to replace things like this:

carp "xyz"; return;

With this:

return $self->log_error("xyz");

And then define this method:

sub log_error { carp $_[1]; return; }

Then anybody who needs different error handling can subclass your class.

use Subclass::Of "WebService::Discord::Webhook", -as => "MyWebhook", -methods => [ error_log => sub { my ($self, $message) = @_; # alternative error handling here }, ]; ...; my $webhook = MyWebhook->new(...);

If you have different severities of error message, you may wish to provide multiple methods like log_unrecoverable_error and log_recoverable_error. Whatever makes sense to you.

Document these methods, how and when they will be called, etc. This way, people subclassing your module will know that they're not some kind of internal thing that might disappear in the next release, but are a supported part of the API.


In reply to Re: Error Reporting from Module by tobyink
in thread Error Reporting from Module by hornpipe2

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.