Existe-t-il un moyen de capturer les journaux sans faire taire les exceptions ?Dans mon cadre de test, je voudrais éliminer l'encombrement résultant des impressions/écritures/exceptions gérées de mon fichier de sortie, j'ai donc essayé d'exécuter du code de test à l'intérieur d'une capture de journal (Eval( testExpression ) ). Mon problème est que cela semble également faire taire toutes les exceptions levées lors de l'évaluation de testExpression, ce à quoi je ne m'attendais pas.
Par exemple:
Try(
logs = Log Capture(
Throw( "newsflash buddy!" );
);<BR /> Print( "Logs: " || logs );
,
Print( "Error:" || exception_msg )
);
J'aimerais obtenir les journaux, mais je me retrouve quand même dans le catch au cas où le code à l'intérieur de Capture serait lancé.
Question secondaire : mon exception levée n'apparaît pas réellement dans les journaux, ce qui me rend encore plus confus quant à la raison pour laquelle la capture la fait taire.
Automatisation et scriptsRe : Existe-t-il un moyen de capturer les journaux sans faire taire les exceptions ?Voyez si cette fonction fonctionne pour votre objectif.

Re : Existe-t-il un moyen de capturer les journaux sans faire taire les exceptions ?Bonjour Mark, la fonction que vous avez liée est celle à laquelle je faisais référence dans mon message d'origine. Le problème que je rencontre est que les exceptions lancées dans les expressions à l'intérieur de la capture sont supprimées. Par exemple, dans mon extrait ci-dessus, le bloc Print dans le catch n'est pas exécuté.
Re : Existe-t-il un moyen de capturer les journaux sans faire taire les exceptions ?Je ne me souviens pas des détails, mais il était nécessaire que LogCapture gère les lancers non résolus. Il ne peut pas relancer et enregistrer le résultat dans journaux sans votre aide, quelque chose comme ceci :
Try(
logs = Log Capture(
Try(
rememberException = Empty();
Print( "Hello" );
Throw( "newsflash buddy!" );
,
rememberException = exception_msg
)
);
Print( "Logs: " || logs );
If( !Is Empty( rememberException ),
throw( "remember: " || rememberException )
);
,
Print( "Error: " || exception_msg )
);
"Journaux :
\!"Bonjour\!""
"Erreur : rappelez-vous : flash d'information, mon pote !"
Re : Existe-t-il un moyen de capturer les journaux sans faire taire les exceptions ?J'ai oublié de mentionner que vous pouvez sauvegarder le résultat renvoyé par cette fonction pour examen.@Craige_Hales La réponse montre comment vous pouvez utiliser cette fonction au lieu d'imprimer à partir de n'importe quel code fourni en argument. Je suis désolé pour la confusion.
Re : Existe-t-il un moyen de capturer les journaux sans faire taire les exceptions ?Merci Craige, c'est parfait !