Bu derste Go dilinde hata yönetimini (error handling) öğreneceksiniz.
Go dilinde hatalar error
arayüzü (interface) kullanılarak tanımlanır. error
arayüzü, sadece bir Error()
metoduna sahiptir. Bu metod, hata mesajını döner.
package main
import (
"errors"
"fmt"
)
func main() {
err := errors.New("Bu bir hatadır")
fmt.Println(err)
}
Hataları yakalamak ve işlemek için if
deyimi kullanılır. Hata döndüren bir fonksiyon çağrıldığında, dönen hata kontrol edilir ve uygun şekilde işlenir.
package main
import (
"fmt"
"strconv"
)
func main() {
i, err := strconv.Atoi("42a")
if err != nil {
fmt.Println("Hata:", err)
return
}
fmt.Println("Başarılı:", i)
}
Kendi hata türlerinizi tanımlayarak daha anlamlı hata mesajları oluşturabilirsiniz. Bu, struct
ve Error()
metodunu kullanarak yapılır.
package main
import (
"fmt"
)
type MyError struct {
Msg string
}
func (e *MyError) Error() string {
return e.Msg
}
func main() {
err := &MyError{Msg: "Bu özel bir hatadır"}
fmt.Println(err)
}
Bu dersin sonunda, Go dilinde hata yönetimi ile ilgili temel kavramları öğrenmiş olacaksınız.