Junior — Middle
Какви видове изключения или грешки могат да бъдат обработени в езика Go?
sobes.tech AI
Отговор от AI
В езика Go няма традиционна система за изключения, както в някои други езици. Вместо това грешките се обработват с помощта на стойности за връщане от типа error.
Основните начини за обработка на грешки в Go:
- Връщане на грешка от функция: функцията връща стойност и грешка, които трябва да бъдат проверени.
- Panic (
panic) и възстановяване (recover): използват се за обработка на критични грешки, които обикновено водят до спиране на програмата, но могат да бъдат уловени.
Пример за обработка на грешка:
func readFile(filename string) ([]byte, error) {
data, err := os.ReadFile(filename)
if err != nil {
return nil, err
}
return data, nil
}
func main() {
data, err := readFile("file.txt")
if err != nil {
fmt.Println("Грешка при четене на файла:", err)
return
}
fmt.Println(string(data))
}
По този начин, в Go се обработват грешките, връщани от функциите, а не изключенията в класическия смисъл.