Project

General

Profile

Bug #8920

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

=begin 
 The following code raises an exception on each MRI version (exact ((%`ruby -v`%)) `ruby -v` output attached at the end of this post): 

  

 ```` 
 class Test 
    
   def foo 
      
     puts "No Exception!" 
    
   end 
  
 end 

  

 begin 
    
   t.foo if t = Test.new 
  
 rescue Exception => e 
    
   STDERR.puts "Exception raised! ``#{e.class}: #{e}''" 
    
   exit 1 
  
 end 

  

 exit 0 
 ```` 

 The exception raised is: 

  

 ```` 

 NameError: undefined local variable or method `t' for main:Object 


 ```` 

 The output I expected was "No Exception." 

 This script was run on the following system: 

  

 ```` 

 $ rvm --version 
  
 #=> rvm 1.21.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/] 

  

 $ uname -a 
  
 #=> Darwin JGF.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May    1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64 i386 MacBookPro8,2 Darwin 

 ```` 

 (For reference, this is a mid-2011 Macbook Pro) 

 and raises the unexpected exception on the following ruby versions: 

  

 ```` 

 ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 
  
 ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.3.0] 
  
 ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0] 

 ```` 

 It also appears to raise in JRuby, but not in Rubinius, though that may or may not be relevant for this bugtracker. 

 Please let me know if I need to provide any other details. I put 2.0.0 in the ((%`ruby -v`%)) `ruby -v` field, but it is reproducible on each of the MRI versions I listed above. 

 =end 

Back