j'ai un petit problème de compréhension. J'intercepte une erreur avec un "rescue SystemCallError" afin d'effectuer certains traitements, mais je voudrais également afficher le message d'erreur natif de Ruby. J'ai vu qu'il faut mettre un "raise" mais ça ne donne rien.
require 'fileutils'
begin
FileUtils.copy_file( "source", "dest" )
rescue SystemCallError
ma_fonction()
puts "ici j'aimerais afficher le message d'erreur donné par Ruby"
#raise
end
J'ai essayé en mettant juste "raise" là où je l'ai indiqué en commentaire, mais je n'ai rien qui s'affiche. Quelqu'un sait comment faire ?
# Méthode message ou to_s
Posté par Jean B . Évalué à 6.
#!/usr/bin/ruby1.8
begin
sdf # au pif
rescue NameError => ne
p 'Class : ' + ne.class.to_s
p 'to_s : ' + ne.to_s
p 'to_str : ' + ne.to_str
p 'message : ' + ne.message
end
ce qui donne :
$ ./test.rb
"Class : NameError"
"to_s : undefined local variable or method `sdf' for main:Object"
"to_str : undefined local variable or method `sdf' for main:Object"
"message : undefined local variable or method `sdf' for main:Object"
[^] # Re: Méthode message ou to_s
Posté par Kerro . Évalué à 2.
Merci :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.