anscheinend versuchen und trycatch funktionieren nicht für dieses Problem! Irgendwelche alternativen Lösungen?
Ich versuche, das folgende Beispiel-Code arbeiten, ohne wirklich zu ändern beliebigen CodeR Schleife fortsetzen bei Fehler
result = 0
for(i in 1:10){
result = result + i
log("a") #I do not care about this error
result = result + i
}
Dieses Ergebnis sollte geben machen = 110
Wenn ich es wirklich tun manuell durch den Teil innerhalb der Schleife zu kopieren und die Zähler zu erhöhen es funktioniert perfekt:
result = 0
#iteration 1
i = 1
result = result + i
log("a")
result = result + i
#iteration 2
i = i+1
result = result + i
log("a")
result = result + i
#iteration 3
i = i+1
result = result + i
log("a")
result = result + i
#etc.
aber mein richtiger Code hat etwa 1000 Zeilen und braucht ein paar hundert mal in einer Schleife.
So möchte Ich mag einige Möglichkeit haben
options(on.error.just.continue.the.next.line) = TRUE
Ich habe gelesen, über try/TryCatch aber ich verstehe es nicht richtig glaube ich
Und was, wenn über> 100 Teile des Codes möglicherweise schief gehen könnte?Ich möchte nicht try() um jede Codezeile hinzufügen. – Ivo
Kein Problem in einigen Situationen. Ich werde einen Schnitt machen. – lmo
Ok, nicht wirklich die Lösung, die ich suchte, ich finde es seltsam, dass es keine Optionen gibt, es nicht auszulöschen. Vor allem, weil es es ignoriert, wenn ich es manuell auswähle und den Block leite. Aber danke – Ivo