lib/opener/ner.rb in opener-ner-2.0.2 vs lib/opener/ner.rb in opener-ner-2.0.3

- old
+ new

@@ -2,10 +2,11 @@ require 'opener/ners/base' require 'nokogiri' require_relative 'ner/version' require_relative 'ner/cli' +require_relative 'ner/error_layer' module Opener ## # Primary NER class that takes care of delegating NER actions to the language # specific kernels. @@ -50,19 +51,23 @@ # # @param [String] input # @return [Array] # def run(input) - language = language_from_kaf(input) || DEFAULT_LANGUAGE - args = options[:args].dup + begin + language = language_from_kaf(input) || DEFAULT_LANGUAGE + args = options[:args].dup - if language_constant_defined?(language) - kernel = language_constant(language).new(:args => args) - else - kernel = Ners::Base.new(:args => args, :language => language) - end + if language_constant_defined?(language) + kernel = language_constant(language).new(:args => args) + else + kernel = Ners::Base.new(:args => args, :language => language) + end - return kernel.run(input) + return kernel.run(input) + rescue Exception => error + return ErrorLayer.new(input, error.message, self.class).add + end end protected ##