From: "RadosÅ‚aw BuÅ‚at" Date: 2008-01-11T05:11:45+09:00 Subject: Re: Rescu all errors and then case statement On Jan 10, 2008 5:17 PM, Michal Sza wrote: > How can I read what type of error occured in rescue clause. > For example, I have the following: > > begin > "some code here" > > > rescue > case > when "error type 1" > > when "error type 2" > end > > end > > I know I could raise errors within code section and then have specif > rescues, but I want to have one rescue and then do different things with > it in the rescue. errors = [IOError, ZeroDivisionError, ArgumentError] errors.each do |klass| begin puts "raising #{klass.name}" raise klass rescue => e case e when IOError puts "it's IOError!" when ZeroDivisionError puts "it's ZeroDivisionError" else puts "other error: #{e.class.name}" end end end -- Rados³aw Bu³at http://radarek.jogger.pl - mój blog