You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
650 B
32 lines
650 B
/*
|
|
Landesamt für Geoinformation und Landentwicklung, Referat 35
|
|
Einführung in die Sprache Go, 25.7.2017
|
|
Lektion 5: Exkurs zu defer, recover, panic => Error Handling; Der Error ist ein Datentyp
|
|
*/
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
func main() {
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
fmt.Printf("Es gab einen Fehler: \"%v\"\n", r)
|
|
}
|
|
}()
|
|
eineFunktion(10, 11)
|
|
fmt.Println("Und trotzdem kann der Code weiter rausgeführt werden")
|
|
}
|
|
|
|
func eineFunktion(a int, b int) {
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
fmt.Printf("Es gab einen Fehler: \"%v\"\n", r)
|
|
}
|
|
}()
|
|
if (a - b) < 0 {
|
|
panic("Ich mache ständig Fehler!")
|
|
}
|
|
}
|
|
|