NAME
AnyEvent::CouchDB::Exceptions - Exception::Class-based exceptions for AnyEvent::CouchDB
SYNOPSIS
use feature 'switch';
use Try::Tiny;
use Data::Dump 'pp';
use AnyEvent::CouchDB;
my $db = couchdb("food");
try {
my $vegetables = $db->open_doc('vegetables')->recv;
}
catch {
when (ref eq 'AnyEvent::CouchDB::Exception::HTTPError') {
# handle an HTTP error
}
when (ref eq 'AnyEvent::CouchDB::Exception::JSONError') {
# handle a JSON decoding error
}
default {
$_->show_trace(1);
warn "$_";
warn "HEADERS : " . pp($_->headers);
warn "BODY : " . $_->body;
}
};
DESCRIPTION
This module defines a family of exception classes.
- AnyEvent::CouchDB::Exception
-
The base exception class who's superclass is Exception::Class::Base
- AnyEvent::CouchDB::Exception::HTTPError
-
A subclass of AnyEvent::CouchDB::Exception for HTTP errors
- AnyEvent::CouchDB::Exception::JSONError
-
A subclass of AnyEvent::CouchDB::Exception for JSON decoding errors
API
This module provides the following methods in addition to the methods provided by Exception::Class::Base.
Additional Accessors
$e->headers
This method will return the HTTP response headers if they were available at the time the exception was thrown.
$e->body
This method will return the HTTP response body if it was available at the time the exception was thrown.