NAME
Data::Object::Exception
ABSTRACT
Data-Object Exception Class
SYNOPSIS
use Data::Object::Exception;
my $exception = Data::Object::Exception->new;
die $exception;
$exception->throw('Oops');
die $exception->new('Oops')->trace(0);
"$exception" # renders exception message
DESCRIPTION
This package provides functionality for creating, throwing, and introspecting exception objects.
LIBRARIES
This package uses type constraints defined by:
METHODS
This package implements the following methods.
e
e() : Any
Render the exception message with optional context and stack trace.
new
new(HashRef $arg1) : ExceptionObject
The new method expects a message, or named arguments, and returns a new class instance.
throw
throw(Str $classname, Any $context, Maybe[Number] $offset) : Object
Throw error with message and context.
trace
trace(Int $offset, $Int $limit) : ExceptionObject
The trace method compiles a stack trace and returns the object. By default it skips the first frame.
- trace example
-
# $exception my $trace = $exception->trace; my $trace = $exception->trace(0); # all frames my $trace = $exception->trace(0, 5); # five frames, no skip
CREDITS
Al Newkirk, +319
Anthony Brummett, +10
Adam Hopkins, +2
José Joaquín Atria, +1
AUTHOR
Al Newkirk, awncorp@cpan.org
LICENSE
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated here, https://github.com/iamalnewkirk/do/blob/master/LICENSE.
PROJECT
SEE ALSO
To get the most out of this distribution, consider reading the following: