R cho phép bạn xác định một trình xử lý điều kiện
x <- tryCatch({
warning("oops")
}, warning=function(w) {
## do something about the warning, maybe return 'NA'
message("handling warning: ", conditionMessage(w))
NA
})
kết quả là
handling warning: oops
> x
[1] NA
Việc thực thi tiếp tục sau tryCatch; bạn có thể quyết định kết thúc bằng cách chuyển đổi cảnh báo của mình thành lỗi
x <- tryCatch({
warning("oops")
}, warning=function(w) {
stop("converted from warning: ", conditionMessage(w))
})
hoặc xử lý tình trạng một cách khéo léo (tiếp tục đánh giá sau cuộc gọi cảnh báo)
withCallingHandlers({
warning("oops")
1
}, warning=function(w) {
message("handled warning: ", conditionMessage(w))
invokeRestart("muffleWarning")
})
cái nào in
handled warning: oops
[1] 1
options(warn=1)
để khôi phục cài đặt mặc định.