-
-
13 May 2022 20:30:43 UTC
- Distribution: Bitcoin-Crypto
- Module version: 1.006
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues
- Testers (82 / 0 / 1)
- Kwalitee
Bus factor: 1- % Coverage
- License: perl_5
- Perl: v5.10.0
- Activity
24 month- Tools
- Download (59.96KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
NAME
Bitcoin::Crypto::Exception - Exception class for Bitcoin::Crypto purposes
SYNOPSIS
use Try::Tiny; try { decode_segwit("Not a segwit address"); } catch { my $error = $_; # $error is an instance of Bitcoin::Crypto::Exception and stringifies automatically warn "$error"; # but also contains some information about the problem to avoid regex matching if ($error->isa("Bitcoin::Crypto::Exception::Bech32InputFormat")) { log $error->message; } };
DESCRIPTION
A wrapper class with automatic stringification and standarized raising. Contains many other inline packages that identify parts that went wrong (like Bitcoin::Crypto::Exception::Sign for errors in signature generation). See individual Bitcoin::Crypto packages documentation to see the exception classes to check for extra control flow when needed.
FUNCTIONS
message
$error_string = $object->message()
Returns the error message (a string).
caller
$caller_aref = $object->caller()
Returns an array ref containing: package name, file name and line number (same as
[caller()]
perl expression). It will contain the data for the first code from outside Bitcoin::Crypto which called it. May be undefined if it cannot find a calling source.as_string
$error_info = $object->as_string()
Stringifies the error, using the
message
method,caller
method and some extra text for context.raise
$object->raise() $class->raise($message)
Creates a new instance and throws it. If used on an object, throws it right away.
use Try::Tiny; try { # throws, but will be catched Bitcoin::Crypto::Exception->raise("something went wrong"); } catch { my $exception = $_; # throws again $exception->raise; };
throw
An alias to
raise
.trap_into
$sub_result = $class->trap_into($sub)
Executes the subroutine given as the only parameter inside an
eval
. Any exceptions thrown inside the subroutine$sub
will be re-thrown after turning them into objects of the given class. If no exception is thrown, method returns the value returned by$sub
.my $result = Bitcoin::Crypto::Exception->trap_into(sub { die "something went wrong"; });
Module Install Instructions
To install Bitcoin::Crypto, copy and paste the appropriate command in to your terminal.
cpanm Bitcoin::Crypto
perl -MCPAN -e shell install Bitcoin::Crypto
For more information on module installation, please visit the detailed CPAN module installation guide.