File Coverage

blib/lib/ExtUtils/XSpp/Exception/stdmessage.pm
Criterion Covered Total %
statement 18 18 100.0
branch 1 2 50.0
condition n/a
subroutine 5 5 100.0
pod 1 2 50.0
total 25 27 92.5


line stmt bran cond sub pod time code
1             package ExtUtils::XSpp::Exception::stdmessage;
2 21     21   98 use strict;
  21         35  
  21         575  
3 21     21   63 use warnings;
  21         25  
  21         689  
4 21     21   87 use base 'ExtUtils::XSpp::Exception';
  21         38  
  21         482  
5              
6             sub init {
7 90     90 0 111 my $this = shift;
8 90         274 $this->SUPER::init(@_);
9             }
10              
11             sub handler_code {
12 87     87 1 117 my $this = shift;
13 87         113 my $no_spaces_indent = shift;
14 87 50       209 $no_spaces_indent = 4 if not defined $no_spaces_indent;
15              
16 87         313 my $ctype = $this->cpp_type;
17 87         168 my $msg = "Caught C++ exception of type or derived from '$ctype': \%s";
18 87         154 my $code = <
19             catch ($ctype& e) {
20             croak("$msg", e.what());
21             }
22             HERE
23 87         225 return $this->indent_code($code, $no_spaces_indent);
24             }
25              
26             1;