Esiste un modo per acquisire i log senza silenziare le eccezioni?Nel mio framework di test vorrei eliminare la confusione risultante da stampe/scritture/eccezioni gestite dal mio file di output, quindi ho provato a eseguire il codice di test all'interno di un Log Capture( Eval( testExpression ) ). Il mio problema è che questo sembra silenziare anche eventuali eccezioni che vengono generate durante la valutazione di testExpression, cosa che non mi aspettavo.
Come esempio:
Try(
logs = Log Capture(
Throw( "newsflash buddy!" );
);<BR /> Print( "Logs: " || logs );
,
Print( "Error:" || exception_msg )
);
Vorrei ottenere i log, ma finisco comunque nel catch nel caso in cui il codice all'interno di Capture generi un'eccezione.
Domanda secondaria: la mia eccezione lanciata in realtà non appare nei log, il che mi confonde ulteriormente sul motivo per cui l'acquisizione la silenzia.
Automazione e scriptingRi: Esiste un modo per acquisire i log senza silenziare le eccezioni?Verifica se questa funzione funziona per il tuo scopo.

Ri: Esiste un modo per acquisire i log senza silenziare le eccezioni?Ciao Mark, la funzione che hai collegato è quella a cui mi riferivo nel mio post originale. Il problema che sto riscontrando è che le eccezioni generate nelle espressioni all'interno dell'acquisizione vengono soppresse. Ad esempio, nel mio frammento sopra, il blocco Print in the catch non viene eseguito.
Ri: Esiste un modo per acquisire i log senza silenziare le eccezioni?Non ricordo i dettagli, ma era necessario affinché LogCapture gestisse eventuali lanci irrisolti. Non è possibile rilanciare e salvare il risultato in registri senza il tuo aiuto, qualcosa del genere:
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 )
);
"Registri:
\!"Ciao\!""
"Errore: ricorda: newsflash amico!"
Ri: Esiste un modo per acquisire i log senza silenziare le eccezioni?Ho dimenticato di dire che puoi salvare il risultato restituito da questa funzione per esaminarlo.@Craige_Hales ' la risposta mostra come potresti utilizzare questa funzione invece di stampare dall'interno di qualsiasi codice fornito come argomento. Mi dispiace per la confusione.
Ri: Esiste un modo per acquisire i log senza silenziare le eccezioni?Grazie Craige, è perfetto!