Die Spalte Golang-Tutorial unten führt Sie in die detaillierte Erklärung der Verwendung von Golang-Panik ein. Ich hoffe, dass es Freunden in Not hilfreich sein wird!
Go-Sprache strebt nach Einfachheit und Eleganz, daher unterstützt die Go-Sprache keine traditionellen Try...Catch...finally-Ausnahmen, da die Designer der Go-Sprache glauben, dass das Mischen von Ausnahmen mit Kontrollstrukturen den Code leicht erstellen wird wird verwirrend.
Denn Entwickler können Ausnahmen leicht missbrauchen und sogar eine Ausnahme für einen kleinen Fehler auslösen. In der Go-Sprache werden mehrere Werte verwendet, um Fehler zurückzugeben. Verwenden Sie Ausnahmen nicht, um Fehler zu ersetzen, geschweige denn, um den Prozess zu steuern. In seltenen Fällen, also wenn eine echte Ausnahme auftritt (z. B. wenn der Divisor 0 ist). Verwenden Sie nur die in Go eingeführte Ausnahmebehandlung: defer, panic, restart.
Die Verwendungsszenarien dieser Ausnahmen können einfach beschrieben werden: Go kann eine Panikausnahme auslösen, die Ausnahme dann durch Wiederherstellen in der Verzögerung erfassen und sie dann normal behandeln.
package main import "fmt"func main(){ defer func(){ // 必须要先声明defer,否则不能捕获到panic异常 fmt.Println("c") if err:=recover();err!=nil{ fmt.Println(err) // 这里的err其实就是panic传入的内容,55 } fmt.Println("d") }() f() } func f(){ fmt.Println("a") panic(55) fmt.Println("b") fmt.Println("f") } 输出结果: a c d exit code 0, process exited normally.
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Verwendung von Golang-Panik. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!