MirOS Manual: Fatal(3p)

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


     Fatal - replace functions with equivalents which succeed or


         use Fatal qw(open close);

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


     "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;



     prototype updates by Ilya Zakharevich

perl v5.8.8                2005-02-05                           1

Generated on 2017-04-03 16:26:17 by $MirOS: src/scripts/roff2htm,v 1.88 2017/01/29 00:51:06 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002–2017 The MirOS Project, Germany.
This product includes material provided by mirabilos.

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