---
name: "JSON::RPC::Common::Procedure::Return::Error"
section: "3pm"
platform: "linux"
package: "libjson-rpc-common-perl"
version: "0.11-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/JSON::RPC::Common::Procedure::Return::Error"
---

# JSON::RPC::Common::Procedure::Return::Error(3pm)

Base class for JSON-RPC errors

## NAME

JSON::RPC::Common::Procedure::Return::Error - Base class for JSON-RPC errors

## VERSION

version 0.11

## SYNOPSIS

```
        use JSON::RPC::Common::Procedure::Return::Error;
        my $error = JSON::RPC::Common::Procedure::Return::Error->new(
                message => "foo",
                code => "bah",
        );
        # or construct a return with an error from a call:
        my $return = $call->return_error("foo");
        $return->error->message;
```

## DESCRIPTION

This is a base class for all version specific error implementations.

## ATTRIBUTES

- code

  - message

  - data

  These are the three common JSON-RPC error fields. In JSON-RPC 1.1 `"data"` is known as `"error"`, and in 1.0 none of this is specced at all.

  See the version specific subclasses for various behaviors.

  Code is an integer, and message is a string.

## METHODS

- new\_dwim

  Convenience constructor used by "return\_error" in JSON::RPC::Common::Procedure::Call.

  Will return an object if that's the argument, and otherwise construct an error.

- inflate

  Create an error object from JSON data (not text).

  In order to maximize compatibility this inflation routine is very liberal in what it accepts.

## AUTHOR

Yuval Kogman \<nothingmuch@woobling.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman and others.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
