Wanneer ik tryCatch
gebruik, kan ik een foutverwerker definiëren en conditionCall
gebruiken om de aanroep te bepalen die de fout heeft veroorzaakt. Bijvoorbeeld,
tryCatch(
eval(parse(text="prnit('Hello')")),
error=function(e) {
cl <- conditionCall(e)
#...
})
Kan ik de slechte oproep op de R-prompt krijgen? Tot nu toe vond ik alleen deze oplossing:
> err_hdl <- function() {
file1 <- tempfile("Rrawhist")
savehistory(file1)
rawhist <- readLines(file1)
unlink(file1)
cat("Error : ", tail(rawhist,1), "\n")
return(TRUE)
}
> options(error=err_hdl)
> prnit("Hello")
maar ik geloof dat er een meer rechtlijnige manier moet zijn ..
Elke hint gewaardeerd!
Ik stak een beloning uit. Het eerste antwoord dat het gedrag van de functie err_hdl
hierboven implementeert zonder bestands-I/O dat platformonafhankelijk is, wordt geaccepteerd.
Bewerken - de bovenstaande code lijkt alleen te werken op vensters. Ik ben op zoek naar de input die de fout heeft veroorzaakt.