J'utilise tryCatch
pour détecter les erreurs qui se produisent. Cependant, même si je les attrape et renvoie la valeur d'erreur appropriée, il semble que l'erreur soit toujours signalée dans les journaux de mon système de traitement par lots. Y a-t-il un moyen de supprimer complètement l'erreur et simplement de procéder à la gestion des erreurs que je fournis?tryCatch message d'erreur de suppression
3
A
Répondre
2
Assurez-vous que vous ne renvoyez pas une erreur (1), ni (2) n'imprimez stderr
dans votre code de gestion des erreurs. Notez un gotcha ici message
envoie sa sortie à stderr
.
Une façon minime remplit les deux conditions est tryCatch(expr, error = function(e) {})
qu'est-ce que « renvoie la valeur d'erreur appropriée » signifie ici? Si vous renvoyez une erreur d'un gestionnaire d'erreur, il est logique qu'ils apparaissent. vous pourriez ne rien retourner 'tryCatch (expr, function (e) {})' (peut-être d'abord vérifier si 'e' répond à certaines conditions – jaimedash
permettez-moi de clarifier: Je ne renvoie pas d'erreur explicitement depuis ma fonction gestionnaire d'erreurs. J'imprime le message via 'message (cond)' où 'cond' est la condition d'erreur.Est-ce la raison pour laquelle il est affiché, c'est-à-dire que le message envoie des choses à stderr au lieu de stdout? – Alex
en d'autres termes: si je n'ai pas 'message (cond)' alors aucune erreur ne devrait être visible? – Alex