How would I write a rescue method to recover from a failed regexp
parsing?
-Thanks
How would I write a rescue method to recover from a failed regexp
parsing?
-Thanks
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.
On Jun 27, 2007, at 3:05 PM, Tim H. 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 G. II
I can’t catch it even with rescue Object… wow.
you could also eval it, k, thats even more evil:
begin
re = eval ‘/abc/’
p re
re = eval ‘/[/’
rescue SyntaxError
puts ‘hit’
end
Sincerely
Florian
James Edward G. II schrieb:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs