Lines Matching defs:Fatal
1 package Fatal;
52 use constant ERROR_AUTODIE_CONFLICT => q{"no autodie '%s'" is not allowed while "use Fatal '%s'" is in effect};
54 use constant ERROR_FATAL_CONFLICT => q{"use Fatal '%s'" is not allowed while "no autodie '%s'" is in effect};
78 $Carp::CarpInternal{'Fatal'} = 1;
332 # to detect illegal combinations of autodie and Fatal, and makes sure
333 # we don't accidently make a Fatal function autodying (which isn't
366 # Here's where all the magic happens when someone write 'use Fatal'
378 @_ or return; # 'use Fatal' is a no-op.
388 # implemented as "use Fatal qw(:lexical ...)". For backwards
393 if ($class eq 'Fatal') {
396 '[deprecated] The "use Fatal qw(:lexical ...)" '
404 . 'subclass of Fatal and used the :lexical. '
411 # already mostly the case (e.g. use Fatal qw(:lexical ...)
413 # Fatal errors.
418 # TODO, when autodie and Fatal are cleanly separated, we
486 # However if we're being invoked with 'use Fatal qw(x)'
489 # Mixing Fatal and autodie effects was considered to be
495 # If we're being called as Fatal, and we've previously
562 # Calling "no Fatal" must start with ":lexical"
583 # If 'blah' was already enabled with Fatal (which has package
592 # (eg, mixing Fatal with no autodie)
772 return Fatal->_write_invocation(
829 # anyone doing very foolish things with old versions of Fatal.
834 return Fatal->_one_invocation(
869 # old Fatal did. Do we care?
873 # Use Fatal qw(system) will never be supported. It generated
874 # a compile-time error with legacy Fatal, and there's no reason
879 croak("UNIMPLEMENTED: use Fatal qw(system) not supported.");
949 # any exceptions from internal errors in autodie/Fatal
1271 # Something we previously made Fatal that was core.
1297 # mixing between use Fatal + use autodie can occur).
1404 # wrapping already wrapped code when autodie and Fatal are used
1455 # subs. Fatal subs can leak all they want, it's considered
1627 # Note that we use "Fatal" as package name for reusable subs
1630 # compiled into "package Fatal" as well.
1632 $pkg = 'Fatal' if exists $reusable_builtins{$call};
1722 croak("Internal error in autodie/Fatal processing $true_name: $E");
1745 Fatal - Replace functions with equivalents which succeed or die
1749 use Fatal qw(open close);
1754 use Fatal qw(move);
1759 Fatal->import('juggle');
1763 B<Fatal has been obsoleted by the new L<autodie> pragma.> Please use
1764 L<autodie> in preference to C<Fatal>. L<autodie> supports lexical scoping,
1767 The use of C<:void> with Fatal is discouraged.
1771 C<Fatal> provides a way to conveniently replace
1778 The do-or-die equivalents are set up simply by calling Fatal's
1789 use Fatal qw/:void open close/;
1802 disable autodying/Fatal behaviour for a small block of code.
1808 =item Bad subroutine name for Fatal: %s
1810 You've called C<Fatal> with an argument that doesn't look like
1811 a subroutine name, nor a switch that this version of Fatal
1816 You've asked C<Fatal> to try and replace a subroutine which does not
1821 You've asked C<Fatal> to replace a subroutine, but it's not a Perl
1822 built-in, and C<Fatal> couldn't find it as a regular subroutine.
1827 You've tried to use C<Fatal> on a Perl built-in that can't be
1829 C<Fatal> can't help you, although some other modules might.
1834 You've found a bug in C<Fatal>. Please report it using
1841 C<Fatal> clobbers the context in which a function is called and always
1845 "Used only once" warnings can be generated when C<autodie> or C<Fatal>
1865 L<autodie> for a nicer way to use lexical Fatal.