Re: [問題] R try&catch

作者: PeggyWhity (Louloute)   2013-10-16 02:51:00
謝謝二位的建議 真的太好了 我都不知道原來還有這種處理方式
剛剛還沒看到回覆的時候我試著寫了一段小小的Function如下
如果有error或是warning的話會回傳1
很菜的程式啊~~~~~
ifError<-function(expr, ...){
w<<-0
e<<-0
result<- tryCatch({
eval(expr)
}, warning = function(war) {
w<<-1
wmassge<<-paste("MY_WARNING: ",war)
w
}, error = function(err) {
e<<-1
emassge<<-paste("Portfolio_ERROR: ",err)
e
}, finally = {
print(paste("End Try&Catch"))
w
e
})
}
test<-ifError(opNor<-optimalPort(Nor,Rf=0))
※ 引述《PeggyWhity (Louloute)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [問題敘述]:
: 大家好,我想寫一個function,可以檢查R code有沒有error或warning
: 如果有則print出error或warnding,可是我不知道怎麼實現,因為我已經會寫try&Catch了
: 可是我想寫的是一個function,直接傳入R的指令,然後function會回傳有沒有error
: 或是warning
: 我寫的try&Catch例子如下,opNor<-optimalPort(Nor,Rf=0.0000552)這一行是我要檢查的
: 指令,可是我還有很指令要檢查,所以我想寫一個function直接傳入我要寫的指令,
: 然後他就會先告訴我這一行有沒有exception
: norresult<- tryCatch({
: opNor<-optimalPort(Nor,Rf=0.0000552)
: }, warning = function(war) {
: print(paste("MY_WARNING: ",war))
: }, error = function(err) {
: print(paste("Portfolio_ERROR: ",err))
: }, finally = {
: print(paste("End Try&Catch"))
: })
: 求各位相助~
: [關鍵字]:
: Try&Catch

Links booklink

Contact Us: admin [ a t ] ucptt.com