2016-10-04 43 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