作者studioA (understand?)
看板R_Language
标题[问题] tryCatch除错测试
时间Mon Jun 20 16:22:13 2022
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我想用tryCatch进行网站爬虫除错测试,
如果连线失败後,秀出失败网址,连线成功的网址另存一个纯文字向量
但第一次使用tryCatch,不太熟,目前的问题是如果我有5个网址要测试
第三个网址是连线失败的网址,tryCatch虽然能成功除错,连线成功的网址
就只会存到第二个网址就停下来。我不知道我哪里写错了,可否给个建议
[程式范例]:
testapi <-c("https://www.youtube.com/",
"https://ep.land.nat.gov.tw/",
"https://e-service.c77w",#此网址错误,会连线失败
"https://www.cwb.gov.tw/V8/C/",
"https://nds.taipower.com.tw/ndsweb/ndft130.aspx")
tryCatch({
okapi <- c()
for (i in c(1:length(testapi))) {
content<- read_html(testapi[i])
okapi[i] <- testapi[i]
}
}, error = function(e) {
print(paste0("连线失败:",testapi[i]) )
})
okapi
---------------
> okapi
[1] "https://www.youtube.com/" "https://ep.land.nat.gov.tw/"
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.64.175.127 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1655713335.A.33A.html
1F:推 Wush978: tryCatch 要写在回圈里面 06/20 17:20
2F:→ Wush978: tryCatch 中的 expression 如果发生错误会呼叫 error 函 06/20 17:20
3F:→ Wush978: 数而停止执行 06/20 17:20
4F:→ Wush978: 所以你的写法中,回圈就断了 06/20 17:21
5F:→ Wush978: 如果你是写在回圈里面,for (i in ...) tryCatch(...) 06/20 17:21
6F:→ Wush978: 那有tryCatch 的时候,R系统不会抛出错误,回圈会继续 06/20 17:21
7F:→ Wush978: 如果没有tryCatch, 发生错误後R会中断所有正在跑的叙述 06/20 17:22
8F:推 jezi1878: 原来有除错函数,逛别人问题也能学到知识 06/20 18:51
9F:→ studioA: 感谢解惑迷津 06/30 12:30