$43 GRAYBYTE WORDPRESS FILE MANAGER $22

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/usr/local/share/perl5/XML/SAX/PurePerl/

HOME
Current File : /usr/local/share/perl5/XML/SAX/PurePerl//Exception.pm
# $Id$

package XML::SAX::PurePerl::Exception;

use strict;

use overload '""' => "stringify";

use vars qw/$StackTrace/;

$StackTrace = $ENV{XML_DEBUG} || 0;

sub throw {
    my $class = shift;
    die $class->new(@_);
}

sub new {
    my $class = shift;
    my %opts = @_;
    die "Invalid options" unless exists $opts{Message};
    
    if ($opts{reader}) {
        return bless { Message => $opts{Message},
                        Exception => undef, # not sure what this is for!!!
                        ColumnNumber => $opts{reader}->column,
                        LineNumber => $opts{reader}->line,
                        PublicId => $opts{reader}->public_id,
                        SystemId => $opts{reader}->system_id,
                        $StackTrace ? (StackTrace => stacktrace()) : (),
                    }, $class;
    }
    return bless { Message => $opts{Message},
                    Exception => undef, # not sure what this is for!!!
                  }, $class;
}

sub stringify {
    my $self = shift;
    local $^W;
    return $self->{Message} . " [Ln: " . $self->{LineNumber} . 
                ", Col: " . $self->{ColumnNumber} . "]" .
                ($StackTrace ? stackstring($self->{StackTrace}) : "") . "\n";
}

sub stacktrace {
    my $i = 2;
    my @fulltrace;
    while (my @trace = caller($i++)) {
        my %hash;
        @hash{qw(Package Filename Line)} = @trace[0..2];
        push @fulltrace, \%hash;
    }
    return \@fulltrace;
}

sub stackstring {
    my $stacktrace = shift;
    my $string = "\nFrom:\n";
    foreach my $current (@$stacktrace) {
        $string .= $current->{Filename} . " Line: " . $current->{Line} . "\n";
    }
    return $string;
}

1;



Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
21 Mar 2024 12.58 PM
root / root
0755
Reader
--
3 Mar 2024 10.17 PM
root / root
0755
DTDDecls.pm
16.594 KB
13 Jun 2019 11.18 PM
root / root
0444
DebugHandler.pm
1.835 KB
13 Jun 2019 11.18 PM
root / root
0444
DocType.pm
4.549 KB
13 Jun 2019 11.24 PM
root / root
0444
EncodingDetect.pm
2.566 KB
13 Jun 2019 11.18 PM
root / root
0444
Exception.pm
1.667 KB
13 Jun 2019 11.18 PM
root / root
0444
NoUnicodeExt.pm
0.613 KB
13 Jun 2019 11.18 PM
root / root
0444
Productions.pm
6.468 KB
13 Jun 2019 11.18 PM
root / root
0444
Reader.pm
2.481 KB
13 Jun 2019 11.18 PM
root / root
0444
UnicodeExt.pm
0.36 KB
13 Jun 2019 11.18 PM
root / root
0444
XMLDecl.pm
3.31 KB
13 Jun 2019 11.18 PM
root / root
0444

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF