Napisałem skrypt R, który zapisuje komunikaty (raport postępu) do pliku tekstowego. I zmodyfikowano opcję error
tak, że gdy wystąpi błąd, pojawi się komunikat o błędzie jest również zapisane w tym pliku:Zatrzymywanie skryptu R bez uzyskania komunikatu "Błąd podczas pakowania"
options(error = function() {
cat(geterrmessage(),file = normalizePath("logs/messages.txt"),append = TRUE)
stop()
})
to działa, ale pojawia się ten komunikat w konsoli/oknie terminala, gdy nie występuje błąd:
Error during wrapup:
Execution halted
Więc myślę, że jest lepszy sposób na przerwanie wykonywania skryptu ... czy jest tam?
Podejrzewam, że musisz usunąć 'stop()' z tego. – Andrie
Co się stanie, jeśli uruchomię skrypt z Rscript.exe myscript.R, zgłoszony zostanie błąd, ale skrypt działa bez zatrzymywania. –
Spróbuj użyć q() zamiast stop(). Obsługa błędów zostaje wywołana za pomocą funkcji stop(), więc zatrzymanie się z poziomu zatrzymania ... brzmi jak rekursja. To * może * być, co jest nie tak. –