diff options
-rwxr-xr-x | bin/efa | 4 | ||||
-rw-r--r-- | lib/WWW/Efa.pm | 17 |
2 files changed, 19 insertions, 2 deletions
@@ -100,8 +100,8 @@ $efa = WWW::Efa->new( max_interchanges => $opt->{'max-change'}, ); -if ($efa->{'error'}) { - die $efa->{'error'}->as_string(); +if (my $err = $efa->setup_error()) { + die $err->as_string(); } if ($opt->{'test-parse'}) { diff --git a/lib/WWW/Efa.pm b/lib/WWW/Efa.pm index fc3ae37..58d55bd 100644 --- a/lib/WWW/Efa.pm +++ b/lib/WWW/Efa.pm @@ -407,6 +407,23 @@ sub new { return bless($ref, $obj); } +=head2 $efa->setup_error() + +In case WWW::Efa->new() encountered an error (usually invalid options), this +returns a B<WWW::Efa::Error::Setup> object describing the exact error. +Otherwise, returns nothing. + +=cut + +sub setup_error { + my ($self) = @_; + + if ($self->{'error'}) { + return $self->{'error'}; + } + return; +} + =head2 $efa->submit(%opts) Submit the query to B<http://efa.vrr.de>. |