[問題] tryCatch除錯測試

作者: studioA (understand?)   2022-06-20 16:22:13
[問題類型]:
程式諮詢(我想用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
作者: Wush978 (拒看低質媒體)   2022-06-20 17:20:00
tryCatch 要寫在迴圈裏面tryCatch 中的 expression 如果發生錯誤會呼叫 error 函數而停止執行所以你的寫法中,迴圈就斷了如果你是寫在迴圈裏面,for (i in ...) tryCatch(...)那有tryCatch 的時候,R系統不會拋出錯誤,迴圈會繼續如果沒有tryCatch, 發生錯誤後R會中斷所有正在跑的敘述
作者: jezi1878 (小天使)   2022-06-20 18:51:00
原來有除錯函數,逛別人問題也能學到知識
作者: studioA (understand?)   2022-06-30 12:30:00
感謝解惑迷津

Links booklink

Contact Us: admin [ a t ] ucptt.com