AnyEvent::CouchDB::Exceptions(3)

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.