File Coverage

blib/lib/TeX/AutoTeX/Exception.pm
Criterion Covered Total %
statement 33 39 84.6
branch n/a
condition n/a
subroutine 11 12 91.6
pod 1 1 100.0
total 45 52 86.5


line stmt bran cond sub pod time code
1             package TeX::AutoTeX::Exception;
2              
3             #
4             # $Id: Exception.pm,v 1.7.2.7 2011/01/27 18:42:27 thorstens Exp $
5             # $Revision: 1.7.2.7 $
6             # $Source: /cvsroot/arxivlib/arXivLib/lib/TeX/AutoTeX/Exception.pm,v $
7             #
8             # $Date: 2011/01/27 18:42:27 $
9             # $Author: thorstens $
10             #
11              
12 2     2   12 use strict;
  2         3  
  2         146  
13             ### use warnings;
14              
15             our ($VERSION) = '$Revision: 1.7.2.7 $' =~ m{ \$Revision: \s+ (\S+) }x;
16              
17 2     2   11 use parent qw(Error);
  2         20  
  2         13  
18 2     2   12753 use overload (q{""} => 'stringify');
  2         5  
  2         11  
19              
20             sub new {
21 0     0 1   my $self = shift;
22 0           my $text = shift() . "\n";
23 0           my @args = ();
24              
25 0           local $Error::Depth = $Error::Depth + 1;
26 0           local $Error::Debug = 1; # Enables storing of stacktrace
27              
28 0           $self->SUPER::new(-text => $text, @args);
29             }
30             1;
31              
32             package TeX::AutoTeX::FatalException;
33 2     2   260 use parent qw(TeX::AutoTeX::Exception);
  2         5  
  2         10  
34             1;
35             package TeX::AutoTeX::FormatException;
36 2     2   145 use parent qw(TeX::AutoTeX::Exception);
  2         4  
  2         6  
37             1;
38             package TeX::AutoTeX::InvNameException;
39 2     2   117 use parent qw(TeX::AutoTeX::Exception);
  2         3  
  2         7  
40             1;
41             package TeX::AutoTeX::MissfontException;
42 2     2   116 use parent qw(TeX::AutoTeX::Exception);
  2         4  
  2         6  
43             1;
44             package TeX::AutoTeX::TexChrException;
45 2     2   98 use parent qw(TeX::AutoTeX::Exception);
  2         3  
  2         15  
46             1;
47             package TeX::AutoTeX::TexMFCnfException;
48 2     2   120 use parent qw(TeX::AutoTeX::Exception);
  2         4  
  2         8  
49             1;
50             package TeX::AutoTeX::TypeException;
51 2     2   125 use parent qw(TeX::AutoTeX::Exception);
  2         3  
  2         7  
52             1;
53             package TeX::AutoTeX::WorkdirException;
54 2     2   112 use parent qw(TeX::AutoTeX::Exception);
  2         4  
  2         7  
55             1;
56              
57             =for stopwords arxiv.org arXiv.org Schwander perlartistic www-admin
58              
59             =head1 NAME
60              
61             TeX::AutoTeX::Exception - framework for exception handling in TeX::AutoTeX
62              
63             =head1 DESCRIPTION
64              
65             This is the base class for exception handling. The idea is to subclass this
66             for specific error conditions. Each of the Exception classes (stubs) above
67             can be customized individually to meet specific needs. More types can be
68             easily added if necessary.
69              
70             =head1 METHODS
71              
72             =head2 new
73              
74             Instantiate an Exception object with customization of the textual
75             representation of the error message.
76              
77             =head1 BUGS AND LIMITATIONS
78              
79             Using the C module is no longer recommended. Exception handling should be
80             migrated to something like C or C.
81              
82             Please report bugs to L
83              
84             =head1 AUTHOR
85              
86             Thorsten Schwander for L
87              
88             =head1 LICENSE AND COPYRIGHT
89              
90             Copyright (c) 2008 - 2010 arxiv.org L
91              
92             This module is free software; you can redistribute it and/or modify it under
93             the same terms as Perl itself. See
94             L.
95              
96             =cut