Hi
I have the following code It is working I have no file named a
begin
f=File.open('a')
rescue Exception => exception
if exception.message == 'No such file or directory - a'
puts ' in first rescue'
else
puts 'in else case'
end
end
So here I get 'in first rescue'
Now what i did is I deliberately changed exception.message1 .So sure I
will get an excption here And How cn I handle that(This is for learning
only).I tried like
begin
f=File.open('a')
rescue Exception => exception
if exception.message1 != 'No such file or directory - a'
puts ' in first rescue'
else
puts 'in else case'
rescue NoMethodError => e:
puts e.to_s
# raise
# puts 'error'
end
end
But it gives syntax error
rescue NoMethodError => e:
How can I solve this..Even now searching a lot in google I am not
that much confident in exception handling in Ruby and also rails
Ignoring, whatever you are trying to do, your exception handling is
wrong, it should be:
rescue NoMethodError => e
···
On Fri, 2008-08-22 at 18:48 +0900, Sijo Kg wrote:
Hi
I have the following code It is working I have no file named a
begin
f=File.open('a')
rescue Exception => exception
if exception.message == 'No such file or directory - a'
puts ' in first rescue'
else
puts 'in else case'
end
end
So here I get 'in first rescue'
Now what i did is I deliberately changed exception.message1 .So sure I
will get an excption here And How cn I handle that(This is for learning
only).I tried like
begin
f=File.open('a')
rescue Exception => exception
if exception.message1 != 'No such file or directory - a'
puts ' in first rescue'
else
puts 'in else case'
rescue NoMethodError => e:
puts e.to_s
# raise
# puts 'error'
end
end
But it gives syntax error
rescue NoMethodError => e:
How can I solve this..Even now searching a lot in google I am not
that much confident in exception handling in Ruby and also rails
I tried
begin
f=File.open('a')
rescue Exception => exception
if exception.message1 == 'No such file or directory - a'
puts ' in if part of rescue'
else
puts 'in else case'
rescue NoMethodError => e:
puts e.to_s
end
end
Above I purposefully changed exception.message to
exception.message1. If it was exception.message and also
rescue NoMethodError => e:
puts e.to_s
were absent I would get 'in if part of rescue'..So as everyone know
exception.message1 doesnot exists. I would like to know how to handle
that exception. Where to place that rescue(Am I right?)
First of all, you cannot use a symbol where you are using it as Hemant
already remarked.
Second, if you want to catch exceptions that occur during exception
handling you need to put a begin rescue end block inside the rescue
block.
robert
···
2008/8/22 Sijo Kg <sijo@maxxion.com>:
I tried
begin
f=File.open('a')
rescue Exception => exception
if exception.message1 == 'No such file or directory - a'
puts ' in if part of rescue'
else
puts 'in else case'
rescue NoMethodError => e:
puts e.to_s
end
end
Above I purposefully changed exception.message to
exception.message1. If it was exception.message and also
rescue NoMethodError => e:
puts e.to_s
were absent I would get 'in if part of rescue'..So as everyone know
exception.message1 doesnot exists. I would like to know how to handle
that exception. Where to place that rescue(Am I right?)
--
use.inject do |as, often| as.you_can - without end
Hi
Thanks for the reply .The following is working and prints 'Also this
error caught'
begin
f=File.open('a')
rescue Exception => exception
begin
if exception.message1 == 'No such file or directory - a'
puts ' in if part of rescue'
else
puts 'in else case'
end
rescue NoMethodError => e:
puts 'Also this error caught'
end
end