On Sat, May 18, 2002 at 10:25:50AM +0900, Christoph wrote: > To appease your valid concerns it might be better to only catch > ``ComparableErrors'' lets say > > module Comparable > class Error < ArgumentError; end > def <(other) > begin > (self <=> other) < 0 ? true : false > rescue Error > false > end > end > # ... > end It just occurred to me that an alternative would be to use nil: module Comparable def <(other) result = self <=> other return result.nil? ? false : result end end Thus <=> could have five possible results: -1 less than 0 equal 1 greater than nil none of the above exception an exceptional condition (error) occurred Paul