Croaks are exceptions, use them if you like it. I personally mostly use die and croak, and avoiding Exception::Class style exceptions, as IMO they only bloat the code and make it harder to find problems. But it is matter of taste.