summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Nagios/Plugin/Config.pm3
-rw-r--r--lib/Nagios/Plugin/Getopt.pm6
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/Nagios/Plugin/Config.pm b/lib/Nagios/Plugin/Config.pm
index d565973..11128dd 100644
--- a/lib/Nagios/Plugin/Config.pm
+++ b/lib/Nagios/Plugin/Config.pm
@@ -38,7 +38,8 @@ sub read
38 } 38 }
39 } 39 }
40 40
41 croak "Cannot find '$FILENAME1' or '$FILENAME2' in any standard location." unless $_[0]; 41 # Use die instead of croak, so we can pass a clean message downstream
42 die "Cannot find '$FILENAME1' or '$FILENAME2' in any standard location.\n" unless $_[0];
42 } 43 }
43 44
44 $class->SUPER::read( @_ ); 45 $class->SUPER::read( @_ );
diff --git a/lib/Nagios/Plugin/Getopt.pm b/lib/Nagios/Plugin/Getopt.pm
index b21dc6d..0cf8f73 100644
--- a/lib/Nagios/Plugin/Getopt.pm
+++ b/lib/Nagios/Plugin/Getopt.pm
@@ -242,9 +242,13 @@ sub _load_config_section
242 my ($section, $file, $flags) = @_; 242 my ($section, $file, $flags) = @_;
243 $section ||= $self->{_attr}->{plugin}; 243 $section ||= $self->{_attr}->{plugin};
244 244
245 my $Config = Nagios::Plugin::Config->read($file); 245 my $Config;
246 eval { $Config = Nagios::Plugin::Config->read($file); };
247 $self->_die($@) if ($@); #TODO: add test?
246 248
247 # TODO: is this check sane? Does --extra-opts=foo require a [foo] section? 249 # TODO: is this check sane? Does --extra-opts=foo require a [foo] section?
250 ## Nevertheless, if we die as UNKNOWN here we should do the same on default
251 ## file *added eval/_die above*.
248 $self->_die("Invalid section '$section' in config file '$file'") 252 $self->_die("Invalid section '$section' in config file '$file'")
249 unless exists $Config->{$section}; 253 unless exists $Config->{$section};
250 254