Issue #11935 has been reported by Christopher Kinniburgh.

----------------------------------------
Feature #11935: Date.new returns inconsistent errors when passed invalid arguments
https://bugs.ruby-lang.org/issues/11935

* Author: Christopher Kinniburgh
* Status: Open
* Priority: Normal
* Assignee: tadayoshi funaba
----------------------------------------
When passed invalid data, such as floats and nil values, the Date.new function returns a variety of results that aren't particularly easy to 

~~~
irb(main):002:0> Date.new(1,nil,1)
TypeError: no implicit conversion from nil to integer
irb(main):003:0> Date.new(1,1,nil)
NoMethodError: undefined method `div' for nil:NilClass
irb(main):004:0> Date.new(nil,1,1)
NoMethodError: undefined method `<' for nil:NilClass
~~~

I have attached a potential fix.  It returns a more consistent set of "invalid day", "invalid month", and "invalid year" argument errors.

---Files--------------------------------
date-new-argument-errors.patch (1.14 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>