VincentH
VincentH

Reputation: 1029

How to change warning setting?

I am trying to debug a function. I would like to display warnings when they occur but I don't understand how to change the warning settings.

Upvotes: 23

Views: 21006

Answers (3)

Ben Bolker
Ben Bolker

Reputation: 226027

It may be useful to specify

options(warn=2, error=recover)

As mentioned by @plannapus, warn=2 will upgrade warnings to errors; error=recover will drop you into a debug/browser mode at the point where the warning (now upgraded to an error) occurred. (Use options(warn=0, error=NULL) to restore the original settings.)

Upvotes: 36

plannapus
plannapus

Reputation: 18749

From the help page for options :

warn: sets the handling of warning messages. If warn is negative all warnings are ignored. If warn is zero (the default) warnings are stored until the top–level function returns. If fewer than 10 warnings were signalled they will be printed otherwise a message saying how many (max 50) were signalled. An object called last.warning is created and can be printed through the function warnings. If warn is one, warnings are printed as they occur. If warn is two or larger all warnings are turned into errors.

So options(warn=1) should print warnings as they occur.

Otherwise function traceback() (after an unidentified error) shows you which subroutine failed (more exactly "the sequence of calls that lead to the error").

Upvotes: 13

Andrie
Andrie

Reputation: 179388

Set

options(warn=1)

Read more in ?options

Upvotes: 17

Related Questions