R ช่วยให้คุณกำหนดตัวจัดการเงื่อนไข
x <- tryCatch({
warning("oops")
}, warning=function(w) {
## do something about the warning, maybe return 'NA'
message("handling warning: ", conditionMessage(w))
NA
})
ซึ่งส่งผลให้
handling warning: oops
> x
[1] NA
การดำเนินการยังคงดำเนินต่อไปหลังจาก tryCatch; คุณสามารถตัดสินใจยุติโดยการแปลงคำเตือนเป็นข้อผิดพลาด
x <- tryCatch({
warning("oops")
}, warning=function(w) {
stop("converted from warning: ", conditionMessage(w))
})
หรือจัดการกับเงื่อนไขอย่างสง่างาม (การประเมินอย่างต่อเนื่องหลังจากการเรียกเตือน)
withCallingHandlers({
warning("oops")
1
}, warning=function(w) {
message("handled warning: ", conditionMessage(w))
invokeRestart("muffleWarning")
})
ซึ่งพิมพ์
handled warning: oops
[1] 1
options(warn=1)
เพื่อคืนค่าการตั้งค่าเริ่มต้น