I haven't used it, but maybe Test::Exception (and its ilk).
In reply to Re: testing the exception throwing by AnomalousMonk in thread testing the exception throwing by John M. Dlugosz