The first two answers are correct answers to your question, however they will not solve your problem.

What you are seeing is not an exception or an error, it is a warning. A subtle difference perhaps, but the eval and die technique will not trap warnings.

What you need to do is to temporarily modify __WARN__ so that instead of the default, which is to print out the warning, it does what you want. You say that you want to catch the "error" and generate your own message. You could do something like this:

sub my_comparison{ @_ == 2 or die "Incorrect number of args to my_comparison"; local $SIG{__WARN__} = sub { print "Tried to test a non-number with +==\n" }; local $^W = 1; $_[0] == $_[1]; }
Note that you MUST enclose this in a block (such as putting it in it's own sub like this) otherwise you will be confused by any other warnings later printing your own message.

-- iakobski


In reply to Re: Can I catch exceptions by iakobski
in thread Can I catch exceptions by richmusk

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.