Exception::ThrowUnless
======================
This is a pretty simple module. It provides functions much like the standard
perl functions, except that if they fail, they will die instead of returning
undef. The messages are usually like:
"$func:@_:$!", with @_ comma separated.
The functions to date are:
schdir sclose sexec sfork slink
smkdir sopen sreadlink srename srename_nc
ssymlink sunlink
usually, they die if their namesake returns undef.
exceptional functions are:
sexec: dies if exec returns at all.
sunlink: does not die, unless one of the files it was asked to
unlink exists. retries unlink, in this case, to reset
errno (sometimes got ENOTTY, if all things).
srename_nc: tails if $_[1] exists.
smkdir: does not die, if $_[0] is a dir, and $! == 17 (EEXIST)
buggy functions:
sopen: I can find no prototype that will allow me to reproduce
the open function in all these cases:
open(STDIN,">x");
open(*STDIN,">x");
open(my $fh,">x");
and I didn't even try
our($STDIN) = "hysterical_porpuses";
open(STDIN);
I'd love to know if/how this is possible.
return values may differ.
many are missing. If you need one that ain't there, drop it in, and
I'll include it.
wantarray may differ in wrapped function from what would normally
happen. Don't think it matters. Let me know if I'm wrong.