Как мы все знаем, паника приводит к трассировке стека в стандартный вывод (Ссылка на игровую площадку):
panic: runtime error: index out of range
goroutine 1 [running]:
main.main()
/tmp/sandbox579134920/main.go:9 +0x20
И кажется, когда вы оправляетесь от паники, recover()
возвращает только error
, который описывает причину паники (Ссылка на игровую площадку < / а>).
runtime error: index out of range
Мой вопрос: можно ли сохранить трассировку стека, которая записывается в стандартный вывод? Это обеспечивает гораздо лучшую отладочную информацию, чем строка runtime error: index out of range
, потому что она показывает точную строку в файле, которая вызвала панику.
runtime/debug
для захвата трассировки стека, см. здесь. Мне любопытно, есть ли у других участников лучшее решение. - person hlin117   schedule 30.08.2018