Go Back   Velocity Reviews > Newsgroups > PERL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

PERL - Rigorous File operation error checking

 
Thread Tools Search this Thread
Old 07-15-2003, 09:43 PM   #1
Default Rigorous File operation error checking


I am putting together a Perl tool to manage a large set of tasks
related to building a rather complex set of software. One of the goals
for moving to Perl is to provide very rigorous error checking and
handling. One area that has me puzzled is error checking some of the
file system operations. Just simple things such as open, rename,
unlink, print and some others ... all the sample code I've seen uses
them in a form of:

open(...) || die "message $!"

Given this is part of a large tool, I'd far prefer to capture the
error code/message, report it via my messaging & tracing mechanism so
it gets recorded in the log file as well as getting displayed to the
user, and then decide if its a fatal error or if I'm going to attempt
to forge ahead in spite of it.

I've tried capturing a status return:

$status = open(...);

but this does not seem to return a useful return value.

Can someone please help me understand how I might provide the level of
error checking and control that I am looking for?

Thanks in advance for your assistance.

-Marc


Marc S. Gibian
  Reply With Quote
Old 07-17-2003, 11:01 AM   #2
Eric J. Roode
 
Posts: n/a
Default Re: Rigorous File operation error checking

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

(Marc S. Gibian) wrote in
news: :

> The simplest solution is:
>
> open(...) or function("something", "$!");
>
> There are lots of other techniques in common usage, including
> exceptions with try {
> open(...);
> }
> catch { }
>
> blocks.


Perl has try/catch?

- --
Eric
$_ = reverse sort qw p ekca lre Js reh ts
p, $/.r, map $_.$", qw e p h tona e; print

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com>

iQA/AwUBPxZz2GPeouIeTNHoEQKGCwCgoIrobbYX7ZYS8y0XUyzPA8 hngscAoM3I
eIPV5XvYzpDayjWdvq+n8U5f
=ltjM
-----END PGP SIGNATURE-----
  Reply With Quote
Old 07-22-2003, 10:32 AM   #3
Andrew Savige
 
Posts: n/a
Default Re: Rigorous File operation error checking

"Eric J. Roode" <> wrote in message news:<Xns93BB3D33E89A5sdn.comcast@206.127.4.25>...
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> (Marc S. Gibian) wrote in
> news: :
>
> > The simplest solution is:
> >
> > open(...) or function("something", "$!");
> >
> > There are lots of other techniques in common usage, including
> > exceptions with try {
> > open(...);
> > }
> > catch { }
> >
> > blocks.

>
> Perl has try/catch?


In Perl 5, I suppose a rough translation is:
try -> eval block
throw -> die
catch -> test $@
though some CPAN modules allow you to use the words try and catch.
Some links on Perl exception handling:
http://www.perl.com/pub/a/2002/11/14/exception.html
http://search.cpan.org/dist/Exception-Class/
http://search.cpan.org/author/GBARR/Error-0.13/Error.pm
http://www.perlmonks.com/index.pl?node=230799
http://www.perl.com/pub/a/2002/01/15/apo4.html
http://www.perl.com/pub/a/2002/04/01/exegesis4.html

/-\
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump