From tom@@@k@||ber@ @end|ng |rom gm@||@com  Fri Mar 15 15:10:10 2019
From: tom@@@k@||ber@ @end|ng |rom gm@||@com (Tomas Kalibera)
Date: Fri, 15 Mar 2019 15:10:10 +0100
Subject: [Rd] Exit status of Rscript when setting
 options(error=utils::recover)
In-Reply-To: <CAKzW8ok4mRyb5MwAAkaN==9qcq+NrqNv8vj5YsWU_AhZM_gFMg@mail.gmail.com>
References: <CAKzW8ok4mRyb5MwAAkaN==9qcq+NrqNv8vj5YsWU_AhZM_gFMg@mail.gmail.com>
Message-ID: <c5bef2f7-677b-cbdb-914a-1316a21cfe0c@gmail.com>


Please refer to the documentation (?stop, ?recover, ?dump.frames). In 
non-interactive use, recover() works as dump.frames(). dump.frames() is 
documented not to quit R, and the examples show how to quit the R 
session with a given status automatically after dump.frames(). So in 
line with the documentation, R continues after the error, it reaches the 
end of the input, and returns 0.

When you run the example with the NULL default error handler (not 
setting the error option), the exit status is 1 as documented in ?stop.

To avoid surprise wrt to the exit status or where execution continues, 
it is best not to set default error handlers in non-interactive use (or 
set them so that they exit the session with a given exit status).

Tomas

On 3/10/19 4:15 AM, comic fans wrote:
> Hello, I've noticed that Rscript didn't exit with error code if I set
> options error = utils::recover in .Rprofile . for example
>
> Rscript -e "asdf"
>
> Error: object 'asdf' not found
> No suitable frames for recover()
>
> echo $?
> 0
>
> if didn't set options in .Rprofile, Rscript exit with error code 1, is
> this expected behavior ?
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] Exit status of Rscript when setting options(error=utils::recover)
Tomas Kalibera