Zastanawiam się, czy ktoś wiedział o dobrym sposobie, aby R lub ESS przestał wykonywać resztę kodu poza punkt, w którym wystąpił błąd, jeśli oceniam region lub bufor (I "znalazłem tylko przeciwną prośbę w archiwach pomocy). Szukałem w plikach pomocniczych R, ale option(error=stop)
przerwie tylko wykonywanie funkcji lub instrukcji, ale nie tych, które ją śledzą. Dzięki!Wymuszenie zatrzymania lub zatrzymanie w przypadku błędu
Odpowiedz
? Przerwa
Tylko wydostanie Cię z pętli.
? Spróbuj
Pozwala ustawić kod, który może zakończyć się niepowodzeniem i bezpiecznie odzyskać.
According to the ESS manual powinno to działać C-c C-c
(COMINT-przerwaniami subjob) wysyła sygnał Control-C
do procesu ESS. Ma to wpływ na przerwanie bieżącego polecenia.
John Fox ma stronę internetową, na której oferuje konfigurację dla ESS. W nim, że ma tę funkcję:
(defun stop-R()
"Interrupt R process in lower window."
(interactive)
(select-window win2)
(comint-interrupt-subjob)
(select-window win1))
Powinieneś móc dodać tę funkcję do menu w XEmacs używając:
(defun R-menu()
"Hook to install R menu and sub-menus"
(add-menu-item '("ESS" "R") "Interrupt computation" 'stop-R
)
)
(add-hook 'ess-mode-hook 'R-menu)
Możecie sprawdzić resztę swojego pliku konfiguracyjnego i dokumentacji sprawdź, czy cię to interesuje. Nie próbowałem tego jeszcze, ale mam nadzieję, że to działa dla ciebie!
Charlie
Dziękuję Charlie - znam Cc Cc ale to jest ręcznie zatrzymanie procesu w toku, niezależnie od błędów (jak rozumiem) .Może zajrzeć do modyfikacji eval-region lub eval-buffer, aby wywołać tę funkcję, gdy wystąpi błąd ... – hatmatrix
Jeśli R/ESS jest wyginanie się tyle czasu obliczeniową, że Emacs/ESS nie reaguje na C-C C-C, można również zapisać wysyłając sygnał przerwania od terminalu.
Po pierwsze: wymyślić identyfikator procesu R za pomocą top
lub ps
. (Kopalnia 98490 Następnie: kill -2 98490
który wysyła sygnał przerwania, a otrzymasz swój ESS/Emacs i R sesji z powrotem
- 1. Zatrzymanie wykonywania w przypadku błędu w sesji RStudio/Interactive R
- 2. VBA - Zwrot z funkcji w przypadku błędu
- 3. Obejście problemu w przypadku błędu Mono PrivateFontCollection.AddFontFile
- 4. Numery linii skryptu R w przypadku błędu?
- 5. Numery linii skryptu R w przypadku błędu?
- 6. respond_with prosi o lokalizacji w przypadku błędu
- 7. Wykonanie zatrzymania SAS
- 8. Dlaczego wymuszenie rozpakowania jest wymagane w przypadku wyliczenia i zmiany?
- 9. zatrzymanie i wyłączenie zasilania
- 10. Zatrzymanie xcode z indeksowania
- 11. Spring ScheduledTask - uruchomienie/zatrzymanie wsparcia?
- 12. git-svn klonu lub svn2git nieoczekiwanego zatrzymania
- 13. Scala: Wymuszenie błędu kompilacji na niedopasowaniu aliasu typu
- 14. Buforowanie komunikatów debugowania log4net, aby wyświetlić je w przypadku błędu?
- 15. Użycie zatrzymania w initWithCoder?
- 16. zatrzymanie ładowania w webViewClient
- 17. Czyszczenie pól formularza Django w przypadku błędu sprawdzania formularza?
- 18. Jak zmusić nadzorcę do zatrzymania procesu w statusie BACKOFF
- 19. Czy strumienie są automatycznie zamykane w przypadku błędu?
- 20. Czy zatrzymanie/zatrzymanie przeglądarki zatrzymuje wykonywanie skryptu?
- 21. Xcode 7: crash na punkcie zatrzymania zatrzymania
- 22. Zatrzymanie wykonywania skryptu po powiadomieniu/ostrzeżeniu
- 23. w przypadku przełącznika, jeśli napiszemy "domyślnie" jako słowo lub pojedynczą literę, nie powoduje to błędu.
- 24. Skrót do zatrzymania REPL?
- 25. Uruchomienie i zatrzymanie odbiornika transmisji
- 26. Na animacji zatrzymania zatrzymania w ich odpowiedniej pozycji
- 27. Odpowiedni wyjątek do rzucania w przypadku wystąpienia błędu analizy składniowej?
- 28. T-sql Cursor, co stanie się w przypadku błędu?
- 29. wykonać JDB w przypadku błędu transportu linux 202 bind udało
- 30. Pole Django Form pliku znika w przypadku błędu formularza
Dzięki, ale podczas pracy interaktywnie Nie chcę, aby otoczyć linię lub region, w try() lub tryCatch() za każdym razem, ale myślę, że to by to technicznie zrobiło ... – hatmatrix
Cześć crippledlambda, czy w międzyczasie znalazłeś rozwiązanie swojego problemu? – giordano