谢谢二位的建议 真的太好了 我都不知道原来还有这种处理方式
刚刚还没看到回复的时候我试着写了一段小小的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