# File lib/dbi/handles/database.rb, line 185
185:         def transaction
186:             raise InterfaceError, "Database connection was already closed!" if @handle.nil?
187:             raise InterfaceError, "No block given" unless block_given?
188: 
189:             commit
190:             begin
191:                 yield self
192:                 commit
193:             rescue Exception
194:                 rollback
195:                 raise
196:             end
197:         end