/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/go/core/xerrors/new.go
48 строк
801 B
robot-ydb-importer
YDB Import 451
23 ноя 2023, 17:44
23 ноя 2023, 17:44
886e863
Код
Авторство
О чём код?
package xerrors import ( "fmt" "io" "github.com/ydb-platform/nbs/library/go/x/xruntime" ) type newError struct { msg string stacktrace *xruntime.StackTrace } var _ ErrorStackTrace = &newError{} func New(text string) error { return &newError{ msg: text, stacktrace: newStackTrace(1, nil), } } func (e *newError) Error() string { return e.msg } func (e *newError) Format(s fmt.State, v rune) { switch v { case 'v': if s.Flag('+') && e.stacktrace != nil { _, _ = io.WriteString(s, e.msg) _, _ = io.WriteString(s, "\n") writeStackTrace(s, e.stacktrace) return } fallthrough case 's': _, _ = io.WriteString(s, e.msg) case 'q': _, _ = fmt.Fprintf(s, "%q", e.msg) } } func (e *newError) StackTrace() *xruntime.StackTrace { return e.stacktrace }