Sure, read the documentation for Ruby Exception class on rubydoc:
http://www.ruby-doc.org/core/
The first listed method is backtrace which has filename:lineno

def method_foo
 begin
   f = File.open('/some/non-existent/file')
 rescue
   puts "Message: " + $!.to_s
   $!.backtrace.each {|l| puts l.to_s}
 end
end


Message: No such file or directory - /some/non-existent/file
test.rb:4:in `initialize'
test.rb:4:in `open'
test.rb:4:in `method_foo'
test.rb:13

-Charley

On 3/3/07, vijay <[EMAIL PROTECTED]> wrote:

Hello people,

Is there a way in Watir by which one can capture the line number of the
code that threw an exception?  We can get the actual message in the
exception from the gloabl variable '$!'.  Can we get the code's line number,
which caused this exception, from some other global variable?

For example, the following code:

begin
        print z
rescue
        puts "The exception message was " + $!.to_s
end

would output the message,

'The exception message was undefined local variable or method `z' for
#<Object:0x2ac9258>'.

But without the 'begin -- rescue class;, the code would have printed the
error message,

'file_name.rb:117 (or some other line number): undefined local variable or
method `z' for #<Object:0x2ac9258> (NameError)

I want to use the 'begin -- rescue class' and still get the exact line
number along with the error message.  Is that possible?

Thanks for your time,
Vijay.
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.openqa.org/thread.jspa?threadID=6777&messageID=19510#19510
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to