2009-12-11 6 views

Répondre

6

Vous pouvez récupérer les erreurs normalement. Par exemple:

begin 
    ActiveRecord::Base.connection.execute(some_query) 
rescue 
    # do stuff with exception 
end 

Jetez un oeil à la MySql (for example) adapter's code pour voir ce qui se passe. Dans ce cas, execute renvoie un objet MySql::Result.

1

Je pense avoir trouvé la réponse. L'instruction Execute renvoie l'erreur qu'il reçoit de la base de données et qui peut être capturée dans une variable et affichée.

+0

Pouvez-vous poster un exemple? – ardochhigh

4

execute Cette méthode est généralement mise en œuvre par les adaptateurs de base de données respectifs et renvoie l'objet Résultat des bibliothèques de bases de données respectives. Donc, si vous utilisez MySQL, la valeur de retour sera de type Mysql::Result.

Typiquement, s'il y a une erreur, la méthode lèvera simplement une exception qui peut être sauvée.

Questions connexes