diff --git a/lib/liquid/errors.rb b/lib/liquid/errors.rb index feb4262..e227636 100644 --- a/lib/liquid/errors.rb +++ b/lib/liquid/errors.rb @@ -57,4 +57,5 @@ module Liquid StackLevelError = Class.new(Error) TaintedError = Class.new(Error) MemoryError = Class.new(Error) + ZeroDivisionError = Class.new(Error) end diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index 4d10bb3..e9cbd9a 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -279,6 +279,8 @@ module Liquid # division def divided_by(input, operand) apply_operation(input, operand, :/) + rescue ::ZeroDivisionError => e + raise Liquid::ZeroDivisionError.new(e.message) end def modulo(input, operand)