From c392f6db3c5252c7036f1f2cfeb90cc853b07692 Mon Sep 17 00:00:00 2001 From: Alex Legler Date: Fri, 10 Oct 2014 09:19:35 +0200 Subject: Improve exception handling This avoids all-UNKNOWN NAME displays in the event a missing nagios status is requested --- lib/service_registry.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/service_registry.rb b/lib/service_registry.rb index c6d208a..3d560b9 100644 --- a/lib/service_registry.rb +++ b/lib/service_registry.rb @@ -92,7 +92,14 @@ class ServiceRegistry def service(name, &block) @services[name] = {} @services[name][:name] = @next_name || name - @services[name][:status] = block.call + + begin + @services[name][:status] = block.call + rescue Exception => e + @services[name][:status] = State::NA + $stderr.puts e + end + @next_name = nil end @@ -113,7 +120,8 @@ class ServiceRegistry load(File.join(File.dirname(__FILE__), '..', 'data', 'services.rb')) @load_date = DateTime.now @cache_locked = false - rescue Exception + rescue Exception => e + $stderr.puts e @services = {} @load_date = DateTime.new(2000, 1, 1) @cache_locked = false -- cgit v1.2.3-65-gdbad