NAME
Data::Object::Exception
ABSTRACT
Exception Class for Perl 5
SYNOPSIS
use Data::Object::Exception;
my $exception = Data::Object::Exception->new;
# $exception->throw
DESCRIPTION
This package provides functionality for creating, throwing, and introspecting exception objects.
SCENARIOS
This package supports the following scenarios:
args-1
use Data::Object::Exception;
my $exception = Data::Object::Exception->new('Oops!');
# $exception->throw
The package allows objects to be instantiated with a single argument.
args-kv
use Data::Object::Exception;
my $exception = Data::Object::Exception->new(message => 'Oops!');
# $exception->throw
The package allows objects to be instantiated with key-value arguments.
METHODS
This package implements the following methods:
explain
explain() : Str
The explain method returns an error message with stack trace.
- explain example #1
-
use Data::Object::Exception; my $exception = Data::Object::Exception->new('Oops!'); $exception->explain
throw
throw(Str $class, Any $context, Maybe[Number] $offset) : Any
The throw method throws an error with message.
- throw example #1
-
use Data::Object::Exception; my $exception = Data::Object::Exception->new('Oops!'); $exception->throw
trace
trace(Int $offset, $Int $limit) : Object
The trace method compiles a stack trace and returns the object. By default it skips the first frame.
- trace example #1
-
use Data::Object::Exception; my $exception = Data::Object::Exception->new('Oops!'); $exception->trace(0)
- trace example #2
-
use Data::Object::Exception; my $exception = Data::Object::Exception->new('Oops!'); $exception->trace(1)
- trace example #3
-
use Data::Object::Exception; my $exception = Data::Object::Exception->new('Oops!'); $exception->trace(0,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 in the "license file".