3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-23 19:22:40 +01:00

Plugin/Plang: improve error message of unhandled exceptions

This commit is contained in:
Pragmatic Software 2022-01-18 10:59:56 -08:00
parent e421f9b6bc
commit 02a600fa32
2 changed files with 8 additions and 14 deletions

View File

@ -14,18 +14,10 @@ use PBot::Imports;
sub initialize { sub initialize {
my ($self, %conf) = @_; my ($self, %conf) = @_;
# load Plang modules # load Plang module
my $path = $self->{pbot}->{registry}->get_value('general', 'plang_dir') // 'Plang'; my $path = $self->{pbot}->{registry}->get_value('general', 'plang_dir') // 'Plang';
unshift @INC, "$path/lib" if not grep { $_ eq "$path/lib" } @INC; unshift @INC, "$path/lib" if not grep { $_ eq "$path/lib" } @INC;
# require all the Plang .pm modules for Module::Refresh
require "$path/Interpreter.pm"; require "$path/Interpreter.pm";
require "$path/AstInterpreter.pm";
require "$path/ParseRules.pm"; # FIXME: Module::Refresh doesn't like this one
require "$path/Parser.pm";
require "$path/Lexer.pm";
require "$path/Types.pm";
require "$path/Validator.pm";
# regset plang.debug <AST,VARS,FUNCS,etc> # regset plang.debug <AST,VARS,FUNCS,etc>
# Plugin must be reloaded for this value to take effect. # Plugin must be reloaded for this value to take effect.
@ -120,8 +112,9 @@ sub cmd_plang {
} }
}; };
if ($@) { if (my $exception = $@) {
$self->{output} .= $@; $exception = $self->{plang}->{interpreter}->output_value($exception);
$self->{output} .= "Run-time error: unhandled exception: $exception";
} }
# return the output # return the output
@ -143,8 +136,9 @@ sub cmd_plangrepl {
$self->{output} .= $self->{plang}->{interpreter}->output_value($result, repl => 1) if defined $result->[1]; $self->{output} .= $self->{plang}->{interpreter}->output_value($result, repl => 1) if defined $result->[1];
}; };
if ($@) { if (my $exception = $@) {
$self->{output} .= $@; $exception = $self->{plang}->{interpreter}->output_value($exception);
$self->{output} .= "Run-time error: unhandled exception: $exception";
} }
# return the output # return the output

View File

@ -25,7 +25,7 @@ use PBot::Imports;
# These are set by the /misc/update_version script # These are set by the /misc/update_version script
use constant { use constant {
BUILD_NAME => "PBot", BUILD_NAME => "PBot",
BUILD_REVISION => 4442, BUILD_REVISION => 4443,
BUILD_DATE => "2022-01-18", BUILD_DATE => "2022-01-18",
}; };