Проверяет понимание уникального подхода Go к обработке ошибок через явные возвращаемые значения, в отличие от исключений в других языках.
В отличие от языков с исключениями (Java, Python, C#), где ошибка может быть выброшена в любом месте и перехвачена выше по стеку, Go использует явный подход. Функции, которые могут завершиться ошибкой, возвращают её как последнее возвращаемое значение. Разработчик обязан проверить ошибку сразу после вызова. Это делает код более предсказуемым и упрощает отладку.
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Result:", result)
}Явная обработка ошибок в Go подходит для систем, где важна надёжность и прозрачность. Она заставляет программиста думать о возможных сбоях на каждом шагу, что снижает количество скрытых багов. Этот стиль особенно полезен в серверных приложениях, микросервисах и инструментах командной строки.