我正在尝试执行以下操作:
try(htmlParse(ip[1], T),
在哪里我定义为:
ip[1] = paste('http://en.wikipedia.org/wiki/George_Clooney')
Run Code Online (Sandbox Code Playgroud)
我想检查htmlParse是否有效.对于我的列表中的许多名称,将没有维基百科站点,因此如果维基页面不存在,我需要能够检查并用NA替换ip [1].
有人可以告诉我如何做到这一点.我尝试使用命令geterrmessage(),但是我不知道每次更改名人的名字时如何刷新.
目前我有以下内容:
if(!isTRUE(as.logical(grep(ip[1],err)))) {
ip[1] = NA
}
else {
Run Code Online (Sandbox Code Playgroud)
这肯定是错误的,因为它没有运行我想要的逻辑语句.
谢谢
阿马尔
jor*_*ran 25
这个简单的例子可以帮助你,我想:
res <- try(log("a"),silent = TRUE)
class(res) == "try-error"
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
基本思想是try当出现错误时返回(无形地)类"try-error"的对象.否则,res将包含您传递给的表达式的结果try.即
res <- try(log(2),silent = TRUE)
res
[1] 0.6931472
Run Code Online (Sandbox Code Playgroud)
花一些时间?try仔细阅读,包括示例(我猜不是那么简单).正如下面的GSee所述,使用一种更为惯用的方法来检查是否抛出错误inherits(res,'try-error').