2012-06-28 18 views
15

Próbuję debugować funkcję. Chciałbym wyświetlać ostrzeżenia o ich wystąpieniu, ale nie rozumiem, jak zmienić ustawienia ostrzeżeń.Jak zmienić ustawienie ostrzeżenia?

+0

Jaka funkcja. Funkcja JavaScript lub inny język? O jakiej przeglądarce lub IDE mówimy? –

+0

Twoje pytanie wydaje się być niekompletne, ponieważ nie określiłeś języka lub IDE, którego używasz. – Jaguar

+0

oops przepraszam za to. Mówię o R. – VincentH

Odpowiedz

12

Set

options(warn=1) 

Czytaj więcej w ?options

8

ze strony pomocy dla options:

warn: ustawia obsługę komunikatów ostrzegawczych. Jeśli warn ma wartość ujemną, wszystkie ostrzeżenia są ignorowane. Jeśli warn ma wartość zero (domyślne), ostrzeżenia są przechowywane do momentu przywrócenia funkcji najwyższego poziomu. Jeżeli zostanie zasygnalizowanych mniej niż 10 ostrzeżeń, wydrukowane zostaną w przeciwnym razie komunikat informujący, ile (maks. 50) zostało zasygnalizowanych. Utworzony zostaje obiekt o nazwie last.warning, który można wydrukować za pomocą funkcji warnings. Jeśli jest to warn, ostrzeżenia są drukowane w momencie ich pojawienia się. Jeśli warn ma dwa lub więcej, wszystkie ostrzeżenia są zamieniane na błędy.

Tak więc options(warn=1) powinien wydrukować ostrzeżenia w momencie ich wystąpienia.

W przeciwnym razie funkcja traceback() (po niezidentyfikowanym błędzie) pokazuje, który podprogram nie powiódł się (dokładniej "sekwencja wywołań prowadzących do błędu").

16

Może to być przydatne do określenia

options(warn=2, error=recover) 

Jak wspomniano przez @plannapus, warn=2 uaktualni ostrzeżenia do błędów; error=recover przeniesie Cię do trybu debugowania/przeglądarki w punkcie, w którym pojawiło się ostrzeżenie (zaktualizowane do błędu). (Użyj options(warn=0, error=NULL), aby przywrócić oryginalne ustawienia.)

+0

Uwielbiam odzyskać opcję. Dziękuję za to. –

Powiązane problemy