Привет! У меня есть функция, в которой получаю апдейты от телеграм бота и вызываю в горутине функцию respond по обработке апдейта. Ошибки, возникающие в respond я отправляю в канал ошибок, а потом обрабатываю ошибки в селекте. 
Верный ли такой подход обработки ошибок из горутин или есть более правильные методы?
errChan := make(chan error)
	for {
		updates, err := b.getUpdates(offset)
		....
		for _, upd := range updates {
	              ....
      		       go respond(upd, errChan)
			select {
			case err := <-errChan:
				log.Println("Error from channel:", err)
			default:
				continue
			}
		}
	}
В методе respond:
...
        message, err := s.GetMessage(upd.Message.Text)
	if err != nil {
		errChan <- err
	}
.....