So komplett neu zu Err Handling, aber versuchen zu verstehen.C# Fehlerbehandlung in einer Reihe von Aufrufen
Für einen Prozess, ich habe dies:
try
{
myGetDataFunction();
}catch(SqlException ex){
myLogExceptionRoutine();
}catch{
throw;
}
Mein nächster Schritt ist Situation zu suchen, wo ich mehrere aufeinanderfolgende Anrufe haben. Zum Beispiel
public void foo(){
callA();
callB();
}
Ich möchte nicht CallB aufgerufen werden, wenn CallA fehlschlägt. Frage ist, wickle ich einfach beide A & B in einem einzigen Versuch/fangen, oder mache ich einen separaten Versuch/catch für jeden? .. und damit versuche ich das 'warum' zu verstehen.
Also so?
try{
callA();
callB();
}catch{
// handling stuff
}
oder wie dieser bizarre Pseudo-Code, der einfach nicht "richtig" aussieht?
try{
callA();
}catch{
// handle error
}
if(somevalidityCheck){
try{
callB();
}catch{
// handle error
}
}
Sie brauchen nicht den 'catch {throw:}'. – juharr
Sie müssen nur callA() und callB() in einem einzigen Versuch setzen. Wenn A fehlgeschlagen ist, wird B nicht –