Revision 8c31500d
Von Moritz Bunkus vor etwa 14 Jahren hinzugefügt
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
$form->error() kann optional eine Exception werfen, anstatt etwas auszugeben und das Programm zu beenden
Version ohne Exception::Class