J'ai été passé une longue course héritage ruby programme, qui a de nombreux événements de
begin
#dosomething
rescue Exception => e
#halt the exception's progress
end
tout au long de l'.
Sans suivi en bas de chaque seule exception possible ces chacun d'entre eux pourrait être la manipulation de (au moins pas tout de suite), je voudrais encore être en mesure de l'arrêter à temps avec Ctrl-C.
Et j'aimerais le faire d'une manière qui ne fait qu'ajouter du code (donc je n'ai pas influer sur le comportement, ou de manquer une exception interceptée au moyen d'une série.)
[Ctrl-C est SIGINT, ou SystemExit, qui semble être l'équivalent de SignalException.nouvelle("INT") en Ruby exception du système de manutention. "classe SignalException < Exception", ce qui explique pourquoi ce problème se présente.]
Le code que je voudrais avoir écrit serait:
begin
#dosomething
rescue SignalException => e
raise e
rescue Exception => e
#halt the exception's progress
end
EDIT: Ce code fonctionne, aussi longtemps que vous avez la classe de l'exception que vous souhaitez recouvrir correcte. C'est soit SystemExit, d'Interrompre, ou de la CISR::avortement comme ci-dessous.