# File lib/amalgalite/statement.rb, line 91 def execute( *params ) bind( *params ) begin # save the error state at the beginning of the execution. We only want to # reraise the error if it was raised during this execution. s_before = $! if block_given? then while row = next_row yield row end else all_rows end ensure s = $! begin reset_for_next_execute! rescue => e end raise s if s != s_before end end