croak - die of errors (from perspective of caller)
croak is handled using eval{} and error is found by $@.
I have no idea what you mean by "Error objects" but to give you a better idea of how Carp works, take a look at the source.
What did the Pro-Perl programmer say to the Perl noob?
You owe me some hair.
Comment on Re: Error::Simple or eval{} use to capture &Carp::croak