Junior — Middle
Erklären Sie das Konzept des Evakuierungsmechanismus in der Programmiersprache Go und seine Zweckbestimmung
sobes.tech KI
Antwort von AI
In der Programmiersprache Go wird der Evakuierungsmechanismus (panic und recover) verwendet, um unerwartete Fehler und Ausnahmebedingungen während der Programmausführung zu behandeln.
panicist ein Aufruf, der die normale Programmausführung unterbricht, eine Kette vondefer-Funktionen auslöst und das Programm letztendlich beendet, wennpanicnicht behandelt wird.recoverist eine Funktion, die innerhalb einerdefer-Funktion aufgerufen werden kann, um die Panik aufzufangen und das Programm am Beenden zu hindern.
Zweck des Mechanismus:
- Ermöglicht die Behandlung kritischer Fehler, die nicht auf normale Weise oder unpraktisch behandelt werden können.
- Bietet die Möglichkeit, sich nach einem Fehler zu erholen und die Programmausführung fortzusetzen.
Beispiel:
func safeDivide(a, b int) int {
defer func() {
if r := recover(); r != nil {
fmt.Println("Wiederherstellung nach Panik:", r)
}
}()
if b == 0 {
panic("Division durch Null")
}
return a / b
}
Hier wird bei dem Versuch, durch Null zu dividieren, panic aufgerufen, aber dank recover beendet das Programm nicht abrupt, und der Fehler wird behandelt.