Go

Обробка помилок

Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover

20 питань зі співбесід·
Junior
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 для обгортання наявної помилки, зберігаючи таким чином ланцюг помилок для подальшого аналізу. Це рекомендований метод додавання контексту до помилок зі збереженням початкової помилки.

4

Яке дієслово форматування дозволяє обгорнути помилку за допомогою fmt.Errorf()?

5

Яка функція перевіряє, чи відповідає обгорнута помилка конкретній помилці?

+17 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно