2016-10-04 27 views
1

我想通過函數在pdf上書寫。避免使用離開的設備

pdf("termolayout.pdf") 
generate_termolayout(db) 
    #This functions prints thermolayouts, but when the db is corrupted, generates errors 
dev.off() 

如何確保R運行dev.off()即使generate_termolayout失敗?

+0

看看'tryCatch()' – epo3

回答

5

使用on.exit

mypdf <- function() { 
    pdf("termolayout.pdf") 
    on.exit(dev.off()) 
    stop("An error.") 
} 

mypdf() 
#Error in mypdf() : An error. 
dev.cur() 
#RStudioGD 
#2