The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Carton::Error;
use strict;
use Exception::Class (
    'Carton::Error',
    'Carton::Error::CommandNotFound' => { isa => 'Carton::Error' },
    'Carton::Error::CommandExit' => { isa => 'Carton::Error', fields => [ 'code' ] },
    'Carton::Error::CPANfileNotFound' => { isa => 'Carton::Error' },
    'Carton::Error::SnapshotParseError' => { isa => 'Carton::Error', fields => [ 'path' ] },
    'Carton::Error::SnapshotNotFound' => { isa => 'Carton::Error', fields => [ 'path' ] },
);

1;