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) }