Venus::Fault

Fault Class

Fault Class for Perl 5

method: explain method: frames method: throw method: trace

package main;

use Venus::Fault;

my $fault = Venus::Fault->new;

# $fault->throw;

This package represents a generic system error (exception object).

The explain method returns the error message and is used in stringification operations.

explain() (Str)

{ since => '1.80', }

=example-1 explain

# given: synopsis;

my $explain = $fault->explain;

# "Exception! in ...

The frames method returns the compiled and stashed stack trace data.

frames() (ArrayRef)

{ since => '1.80', }

=example-1 frames

# given: synopsis;

my $frames = $fault->frames;

# [
#   ...
#   [
#     "main",
#     "t/Venus_Fault.t",
#     ...
#   ],
# ]

The throw method throws an error if the invocant is an object, or creates an error object using the arguments provided and throws the created object.

throw(Str $message) (Fault)

{ since => '1.80', }

=example-1 throw

# given: synopsis;

my $throw = $fault->throw;

# bless({ ... }, 'Venus::Fault')

The trace method compiles a stack trace and returns the object. By default it skips the first frame.

trace(Int $offset, Int $limit) (Fault)

{ since => '1.80', }

=example-1 trace

# given: synopsis;

my $trace = $fault->trace;

# bless({ ... }, 'Venus::Fault')

This package overloads the eq operator.

This package overloads the ne operator.

This package overloads the qr operator.

This package overloads the "" operator.

This package overloads the ~~ operator.

t/Venus.t: pdml: authors t/Venus.t: pdml: license

31 POD Errors

The following errors were encountered while parsing the POD:

Around line 13:

Unknown directive: =name

Around line 21:

Unknown directive: =tagline

Around line 29:

Unknown directive: =abstract

Around line 37:

Unknown directive: =includes

Around line 48:

Unknown directive: =synopsis

Around line 67:

Unknown directive: =description

Around line 75:

Unknown directive: =method

Around line 80:

Unknown directive: =signature

Around line 84:

Unknown directive: =metadata

Around line 108:

Unknown directive: =method

Around line 112:

Unknown directive: =signature

Around line 116:

Unknown directive: =metadata

Around line 149:

Unknown directive: =method

Around line 154:

Unknown directive: =signature

Around line 158:

Unknown directive: =metadata

Around line 182:

Unknown directive: =method

Around line 187:

Unknown directive: =signature

Around line 191:

Unknown directive: =metadata

Around line 224:

=cut found outside a pod block. Skipping to next block.

Around line 243:

=cut found outside a pod block. Skipping to next block.

Around line 254:

Unknown directive: =operator

Around line 270:

=cut found outside a pod block. Skipping to next block.

Around line 280:

Unknown directive: =operator

Around line 296:

=cut found outside a pod block. Skipping to next block.

Around line 306:

Unknown directive: =operator

Around line 322:

=cut found outside a pod block. Skipping to next block.

Around line 332:

Unknown directive: =operator

Around line 348:

=cut found outside a pod block. Skipping to next block.

Around line 358:

Unknown directive: =operator

Around line 374:

=cut found outside a pod block. Skipping to next block.

Around line 380:

Unknown directive: =partials