Commit 69ad2164 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Use custom WarnException in JsDuck::Warning::*.

This way when an actual error happens, we don't catch it with the
generic 'rescue Exception => e' block.
parent 9b4991ca
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
require 'jsduck/util/singleton'
require 'jsduck/util/os'
require 'jsduck/warning/registry'
require 'jsduck/warning/warn_exception'

module JsDuck

@@ -37,7 +38,7 @@ module JsDuck
    def set_warning(type, enabled, pattern=nil, params=[])
      begin
        @warnings.set(type, enabled, pattern, params)
      rescue Exception => e
      rescue Warning::WarnException => e
        warn(nil, e.message)
      end
    end
+1 −1
Original line number Diff line number Diff line
@@ -701,7 +701,7 @@ module JsDuck
            Warning::Parser.new(warnings).parse.each do |w|
              Logger.set_warning(w[:type], w[:enabled], w[:path], w[:params])
            end
          rescue Exception => e
          rescue Warning::WarnException => e
            Logger.warn(nil, e.message)
          end
        end
+3 −1
Original line number Diff line number Diff line
require 'jsduck/warning/warn_exception'

module JsDuck
  module Warning

@@ -18,7 +20,7 @@ module JsDuck
      def set(enabled, path_pattern=nil, params=[])
        if path_pattern
          if @enabled == enabled
            raise "Warning rule '#{enabled ? '+' : '-'}#{@type}:#{path_pattern}' has no effect"
            raise WarnException, "Warning rule '#{enabled ? '+' : '-'}#{@type}:#{path_pattern}' has no effect"
          else
            @patterns << Regexp.new(Regexp.escape(path_pattern))
          end
+3 −1
Original line number Diff line number Diff line
require 'jsduck/warning/warn_exception'

module JsDuck
  module Warning

@@ -19,7 +21,7 @@ module JsDuck
      # Enables or disables the mapped :nodoc warning.
      def set(enabled, path_pattern=nil, params=[])
        @nodoc.set(enabled, path_pattern, @params)
        raise "Warning type #{@type} is deprecated, use nodoc(#{@params.join(',')}) instead"
        raise WarnException, "Warning type #{@type} is deprecated, use nodoc(#{@params.join(',')}) instead"
      end

      # This method shouldn't be called.
+2 −1
Original line number Diff line number Diff line
require 'jsduck/warning/warn_exception'
require 'set'

module JsDuck
@@ -22,7 +23,7 @@ module JsDuck
        visibility = params[1]

        unless TYPES.include?(type) && VISIBILITIES.include?(visibility)
          raise "Invalid warning parameters: nodoc(#{type},#{visibility})"
          raise WarnException, "Invalid warning parameters: nodoc(#{type},#{visibility})"
        end

        @rules << {
Loading