История изменений
Исправление RedPossum, (текущая версия) :
Дефер есть, его можно приклеить искусственно, только вот в случае с паникой дефер будет всегда, а с err оно не обязательно
Но вот искусственный пример
func hasErr() (res string) {
defer func() {
if err := doErr(); err != nil {
res = "Here's error"
}
}()
return
}
Benchmark_hasErr-4 30000000 53.3 ns/op 0 B/op 0 allocs/op
Все равно существенны быстрее паники
Исходная версия RedPossum, :
Дефер есть, его можно приклеить искусственно, только вот в случае с паникой дефер будет всегда, а с err оно не обязательно