From: ts Date: 2004-02-22T01:26:33+09:00 Subject: Re: Exception not caught / require BUG >>>>> "L" == Lothar Scholz writes: L> I found that the following exception does not raise an exception L> but kills the ruby interpreter. normal, LoadError don't inherit from StandardError svg% ruby -e 'p LoadError < StandardError' false svg% svg% ruby -e 'p LoadError < ScriptError' true svg% L> def test_traceback() L> begin L> require "Socket" L> rescue => detail L> print "Not available" L> end L> end Your rescue is for StandardError only L> c:/ruby/lib/ruby/1.8/i386-mswin32/Socket.so: 127: The specified L> procedure could not be found. - Init_Socket (LoadError) L> c:/ruby/lib/ruby/1.8/i386-mswin32/Socket.so from L> common/ruby/arachno_traceback.rb:25:in `test_traceback' L> from common/ruby/arachno_traceback.rb:45 L> But since the file does not exist the error message about a not found L> procedure is also wrong. You probably work with a system which don't make the difference between the file Socket.so and socket.so and the error is right Init_Socket is not defined in socket.so Guy Decoux