The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.