Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 8c31500d

Von Moritz Bunkus vor etwa 14 Jahren hinzugefügt

  • ID 8c31500d9372e4e1585b895ce4d43d67a5e517e5
  • Vorgänger 9831db07
  • Nachfolger 576b67fd

$form->error() kann optional eine Exception werfen, anstatt etwas auszugeben und das Programm zu beenden

Version ohne Exception::Class

Unterschiede anzeigen:

SL/Form.pm
$main::lxdebug->leave_sub();
}
sub throw_on_error {
my ($self, $code) = @_;
local $self->{__ERROR_HANDLER} = sub { die({ error => $_[0] }) };
$code->();
}
sub error {
$main::lxdebug->enter_sub();
$main::lxdebug->show_backtrace();
my ($self, $msg) = @_;
if ($ENV{HTTP_USER_AGENT}) {
if ($self->{__ERROR_HANDLER}) {
$self->{__ERROR_HANDLER}->($msg);
} elsif ($ENV{HTTP_USER_AGENT}) {
$msg =~ s/\n/<br>/g;
$self->show_generic_error($msg);
......
my ($self, $error, %params) = @_;
if ($self->{__ERROR_HANDLER}) {
$self->{__ERROR_HANDLER}->($error);
$main::lxdebug->leave_sub();
return;
}
my $add_params = {
'title_error' => $params{title},
'label_error' => $error,

Auch abrufbar als: Unified diff