From: James Edward Gray II Date: 2007-06-28T05:48:39+09:00 Subject: Re: Regexp rescue method On Jun 27, 2007, at 3:05 PM, Tim Hunter wrote: > th8254 wrote: >> How would I write a rescue method to recover from a failed regexp >> parsing? >> >> -Thanks >> >> > I don't think that raises an error. You'd have to check for a nil > result instead. I took the question to mean, how would I recover from a malformed Regexp error like: >> re = /[/ SyntaxError: compile error (irb):1: invalid regular expression; '[' can't be the last character ie. can't start range at the end of pattern: /[/ from (irb):1 I don't know of a way to recover from that specific example either, which is why I didn't jump to answer: >> begin ?> re = /[/ >> rescue SyntaxError >> puts "Your Regexp is malformed." >> end SyntaxError: compile error (irb):3: invalid regular expression; '[' can't be the last character ie. can't start range at the end of pattern: /[/ from (irb):6 But, if you change the way the expression is built, it does seem to become a recoverable error: >> begin ?> re = Regexp.new("[") >> rescue RegexpError >> puts "Your Regexp is malformed." >> end Your Regexp is malformed. => nil James Edward Gray II