База Hintsage

Обработка ошибок

Errors, wrapping, panic/recover и проектирование ошибок.

Практика

Вопросы: Обработка ошибок

В тестовом помощнике нужно завершить текущую горутину без паники. Что выведет программа и выполнится ли строка после runtime.Goexit?

package main

import (
	"fmt"
	"runtime"
)

func main() {
	done := make(chan struct{})
	go func() {
		defer func() {
			fmt.Println("recover:", recover())
			close(done)
		}()
		runtime.Goexit()
		fmt.Println("after")
	}()
	<-done
}
Программирование GoОбработка ошибокРазработчик Go среднего уровня

Показано 41–50 из 50

Восстановление доступа