MirBSD manpage: Fatal(3p)


Fatal(3p)       Perl Programmers Reference Guide        Fatal(3p)

NAME

     Fatal - replace functions with equivalents which succeed or
     die

SYNOPSIS

         use Fatal qw(open close);

         sub juggle { . . . }
         import Fatal 'juggle';

DESCRIPTION

     "Fatal" provides a way to conveniently replace functions
     which normally return a false value when they fail with
     equivalents which raise exceptions if they are not success-
     ful.  This lets you use these functions without having to
     test their return values explicitly on each call.  Excep-
     tions can be caught using "eval{}".  See perlfunc and perl-
     var for details.

     The do-or-die equivalents are set up simply by calling
     Fatal's "import" routine, passing it the names of the func-
     tions to be replaced.  You may wrap both user-defined func-
     tions and overridable CORE operators (except "exec", "sys-
     tem" which cannot be expressed via prototypes) in this way.

     If the symbol ":void" appears in the import list, then func-
     tions named later in that import list raise an exception
     only when these are called in void context--that is, when
     their return values are ignored.  For example

             use Fatal qw/:void open close/;

             # properly checked, so no exception raised on error
             if(open(FH, "< /bogotic") {
                     warn "bogo file, dude: $!";
             }

             # not checked, so error raises an exception
             close FH;

AUTHOR

     Lionel.Cons@cern.ch

     prototype updates by Ilya Zakharevich
     ilya@math.ohio-state.edu

perl v5.8.8                2005-02-05                           1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung