stop
位於 base
包(package)。 說明
stop
停止當前表達式的執行並執行錯誤操作。
geterrmessage
給出最後的錯誤消息。
用法
stop(..., call. = TRUE, domain = NULL)
geterrmessage()
參數
... |
零個或多個可以強製為字符的對象(並且不帶分隔符粘貼在一起)或單個條件對象。 |
call. |
邏輯,指示調用是否應成為錯誤消息的一部分。 |
domain |
請參閱 |
細節
錯誤操作由執行代碼中建立的錯誤處理程序以及 options(error=)
設置的當前默認錯誤處理程序控製。首先像使用 signalCondition()
一樣發出錯誤信號。如果沒有處理程序或所有處理程序都返回,則打印錯誤消息(如果 options("show.error.messages")
為 true)並使用默認錯誤處理程序。交互式使用中的默認行為(NULL
error-handler)是返回到頂級提示或頂級瀏覽器,而在非交互式使用中則(有效)調用 q("no", status = 1, runLast = FALSE
)。默認處理程序將錯誤消息存儲在緩衝區中;可以通過 geterrmessage()
檢索。它還存儲可以通過 traceback()
檢索的調用堆棧跟蹤。
錯誤將被截斷為 getOption("warning.length")
字符,默認 1000。
如果提供了條件對象,它應該是唯一的參數,其他參數將被忽略,並帶有警告。
值
geterrmessage
給出最後的錯誤消息,作為以 "\n"
結尾的字符串。
注意
每當 ...
包含 gettextf()
的結果(因為該結果已翻譯)時,請使用 domain = NA
。
例子
iter <- 12
try(if(iter > 10) stop("too many iterations"))
tst1 <- function(...) stop("dummy error")
try(tst1(1:10, long, calling, expression))
tst2 <- function(...) stop("dummy error", call. = FALSE)
try(tst2(1:10, longcalling, expression, but.not.seen.in.Error))
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
warning
、 try
用於捕獲錯誤並重試,options
用於設置錯誤處理程序。 stopifnot
用於有效性測試。 tryCatch
和 withCallingHandlers
可用於在執行表達式時建立自定義處理程序。
gettext
用於消息自動翻譯的機製。
相關用法
- R stopifnot 確保 R 表達式的真實性
- R strsplit 分割字符向量的元素
- R strtoi 將字符串轉換為整數
- R strrep 重複字符向量的元素
- R standardGeneric 形式化方法係統 – 調度 S4 方法
- R startsWith 字符串是否以另一個字符串開頭或結尾?
- R strwrap 將字符串換行以設置段落格式
- R strptime 與字符之間的日期時間轉換函數
- R strtrim 將字符串修剪為指定的顯示寬度
- R structure 屬性規範
- R seq.Date 生成規則的日期序列
- R search 給出 R 對象的搜索路徑
- R solve 求解方程組
- R scan 讀取數據值
- R sprintf 使用 C 風格字符串格式化命令
- R sign 標誌函數
- R svd 矩陣的奇異值分解
- R source 從文件、連接或表達式中讀取 R 代碼
- R sQuote 引用文字
- R switch 選擇替代方案列表之一
- R substitute 替換和引用表達式
- R split 分組並重新集合
- R slice.index 數組中的切片索引
- R sort 對向量進行排序或排序
- R sequence 創建序列向量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Stop Function Execution。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。