# File lib/taps/operation.rb, line 199
  def catch_errors(&blk)
    verify_server

    begin
      blk.call
      close_session
    rescue RestClient::Exception, Taps::BaseError => e
      store_session
      if e.kind_of?(Taps::BaseError)
        puts "!!! Caught Server Exception"
        puts "#{e.class}: #{e.message}"
        puts "\n#{e.original_backtrace}" if e.original_backtrace
        exit(1)
      elsif e.respond_to?(:response)
        puts "!!! Caught Server Exception"
        puts "HTTP CODE: #{e.http_code}"
        puts "#{e.response.to_s}"
        exit(1)
      else
        raise
      end
    end
  end