Go

Obsługa błędów

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

20 pytań z rozmów·
Junior
1

Jaki interfejs jest używany do reprezentowania błędów w Go?

Odpowiedź

Interfejs error to predefiniowany interfejs w Go służący do reprezentowania stanów błędu. Zawiera jedną metodę Error(), która zwraca ciąg znaków opisujący błąd. Wartość nil oznacza brak błędu. Jest to konwencjonalny interfejs używany przez wszystkie pakiety biblioteki standardowej oraz przez programistów Go do sygnalizowania i propagowania błędów.

2

Jak utworzyć prosty błąd ze statyczną wiadomością w Go?

Odpowiedź

Funkcja errors.New() z pakietu errors tworzy prosty błąd ze statyczną wiadomością. Zwraca typ error, który implementuje interfejs error z podaną wiadomością. To podejście jest zalecane do tworzenia błędów sentinel (predefiniowanych błędów takich jak os.ErrNotExist) lub prostych błędów bez dynamicznego kontekstu. Dla dynamicznych wiadomości należy użyć fmt.Errorf().

3

Która funkcja pozwala utworzyć błąd z dynamicznie sformatowaną wiadomością?

Odpowiedź

Funkcja fmt.Errorf() tworzy błąd z dynamicznie sformatowaną wiadomością przy użyciu czasowników formatujących (takich jak %s, %d, %v). Obsługuje również specjalny czasownik %w do opakowania istniejącego błędu, zachowując w ten sposób łańcuch błędów do późniejszej inspekcji. Jest to zalecana metoda dodawania kontekstu do błędów przy zachowaniu oryginalnego błędu.

4

Który czasownik formatujący pozwala opakować błąd za pomocą fmt.Errorf()?

5

Która funkcja sprawdza, czy opakowany błąd odpowiada określonemu błędowi?

+17 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo