# Обробка помилок (Go) > Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover - 20 питань зі співбесід - Junior - [Питання зі співбесід: Go](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy.md) ## 1. Який інтерфейс використовується для представлення помилок у Go? **Відповідь** Інтерфейс error — це попередньо визначений інтерфейс у Go для представлення станів помилки. Він містить єдиний метод Error(), який повертає рядок з описом помилки. Значення nil представляє відсутність помилки. Це загальноприйнятий інтерфейс, який використовується всіма пакетами стандартної бібліотеки та розробниками Go для сигналізації та поширення помилок. ## 2. Як створити просту помилку зі статичним повідомленням у Go? **Відповідь** Функція errors.New() з пакета errors створює просту помилку зі статичним повідомленням. Вона повертає тип error, який реалізує інтерфейс error із наданим повідомленням. Цей підхід рекомендується для створення sentinel-помилок (попередньо визначених помилок, як-от os.ErrNotExist) або простих помилок без динамічного контексту. Для динамічних повідомлень використовуйте fmt.Errorf(). ## 3. Яка функція дозволяє створити помилку з динамічно форматованим повідомленням? **Відповідь** Функція fmt.Errorf() створює помилку з динамічно форматованим повідомленням за допомогою дієслів форматування (як-от %s, %d, %v). Вона також підтримує спеціальне дієслово %w для обгортання наявної помилки, зберігаючи таким чином ланцюг помилок для подальшого аналізу. Це рекомендований метод додавання контексту до помилок зі збереженням початкової помилки. ## Ще 17 доступних питань - Яке дієслово форматування дозволяє обгорнути помилку за допомогою fmt.Errorf()? - Яка функція перевіряє, чи відповідає обгорнута помилка конкретній помилці? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід Go - [Основи Go](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/go-basics.md): 25 запитань, Junior - [Структури даних Go](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/go-data-structures.md): 20 запитань, Junior - [Інтерфейси Go](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/go-interfaces.md): 18 запитань, Junior - [Основи goroutines](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/goroutines-basics.md): 20 запитань, Junior - [Channels](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/channels.md): 22 запитань, Junior - [Go Modules](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/go-modules.md): 18 запитань, Mid-Level - [HTTP-сервер](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/http-server.md): 24 запитань, Mid-Level - [HTTP-клієнт](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/http-client.md): 18 запитань, Mid-Level - [Кодування JSON](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/json-encoding.md): 20 запитань, Mid-Level - [Database/SQL](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/database-sql.md): 22 запитань, Mid-Level - [Пакет context](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/context-package.md): 20 запитань, Mid-Level - [Testing](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/testing.md): 22 запитань, Mid-Level - [Патерни конкурентності](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/concurrency-patterns.md): 24 запитань, Mid-Level - [Примітиви синхронізації](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/sync-primitives.md): 22 запитань, Mid-Level - [Веб-фреймворки Go](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/go-web-frameworks.md): 20 запитань, Mid-Level - [Проєктування REST API](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/rest-api-design.md): 20 запитань, Mid-Level - [gRPC](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/grpc.md): 22 запитань, Mid-Level - [Reflection](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/reflection.md): 20 запитань, Senior - [Керування пам'яттю](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/memory-management.md): 24 запитань, Senior - [Оптимізація продуктивності](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/performance-optimization.md): 22 запитань, Senior - [Generics](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/generics.md): 20 запитань, Senior - [Go Design Patterns](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/design-patterns.md): 24 запитань, Senior - [Microservices](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/microservices.md): 24 запитань, Senior - [Безпека та автентифікація](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/security-authentication.md): 24 запитань, Senior - [Docker & Containerization](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/docker-containerization.md): 20 запитань, Senior - [Kubernetes Basics](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/kubernetes-basics.md): 22 запитань, Senior - [Просунутий Go](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/advanced-go.md): 20 запитань, Senior - [Розробка CLI](https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/cli-development.md): 20 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/go/pytannia-spivbesidy/error-handling