[ruby-gnome2-doc-cvs] [Hiki] create - tut-libgda-errors

アーカイブの一覧に戻る

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 11日 (日) 12:07:14 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-libgda-errors
-------------------------
= Gerenciando Erros
{{link("tut-libgda-transactions", nil, "tut-libgda", "tut-libgda-full-example")}}

Vocpode gerenciar erros usando a classe Gda::Error, e obter objetos com o m$BqU(Bodo Gda::Connection#errors.

Um erro de GDA contem 4 partes distintas de informa$Bne(Bo.

:Gda::Error#description
 Uma descri$Bne(Bo completa do erro. 

:Gda::Error#number
 O n$B(Bero do erro.

:Gda::Error#source
 Fonte do erro.

:Gda::Error#sqlstate
 Estado da SQL.

Aqui vocpode ver um exemplo usando isso:

  def show_errors(conn)
      # Obtem lista de erros e faz um loop para pegar as informa$Bnw(Bes de erro.
      conn.errors.each do |error|
          puts "No. do Erro: #{error.number.to_s}"
          puts "Descri$Bne(Bo: #{error.description}"
          puts "Fonte: #{error.source}"
          puts "Estado da SQL: #{error.sqlstate}"
      end
  end

Comumente, vocpode verificar os erros quando o m$BqU(Bodo de query Gda::Connection falha. Por exemplo:

  # Para Gda::Connection#execute_non_query:
  if conn.execute_non_query(cmd) == -1
      show_errors(conn)
  end

  # Para Gda::Connection#execute_single_command:
  dm = conn.execute_single_command(cmd)
  if dm.nil?
      show_errors(conn)
  end

  # Para Gda::Connection#execute_command:
  arr = conn.execute_command(cmd)
  arr.each do |dm|
      if dm.nil?
          show_errors(conn)
      end
  end

Tamb$BqN(B, poss$ByW(Bel ser notificado com um sinal de GLib quando um erro ocorre:

  conn.signal_connect('error') { show_errors(conn) }





ruby-gnome2-cvs メーリングリストの案内
アーカイブの一覧に戻る