
...
are not all
TRUE
, stop
is called, producing an error message
indicating the first of the elements of ...
which were
not true.
stopifnot(...)
NULL
if all statements in ...
are TRUE
.)
stopifnot(A, B)
is conceptually equivalent to
{ if(any(is.na(A)) || !all(A)) stop(...) ; if(any(is.na(B)) || !all(B)) stop(...) }
stop
, warning
;
assertCondition
in package tools complements
stopifnot()
for testing warnings and errors.
stopifnot(1 == 1, all.equal(pi, 3.14159265), 1 < 2) # all TRUE
m <- matrix(c(1,3,3,1), 2, 2)
stopifnot(m == t(m), diag(m) == rep(1, 2)) # all(.) |=> TRUE
op <- options(error = expression(NULL))
# "disable stop(.)" << Use with CARE! >>
stopifnot(all.equal(pi, 3.141593), 2 < 2, all(1:10 < 12), "a" < "b")
stopifnot(all.equal(pi, 3.1415927), 2 < 2, all(1:10 < 12), "a" < "b")
options(op) # revert to previous error handler
Run the code above in your browser using DataLab