Pull to refresh

Comments 10

Отличная статья, и полезная либа. Спасибо!
Самый интересный вопрос — что будет, если исключение случилось во время обработки другого исключения.
В Go нет исключений, все ошибки обрабатываются в штатном режиме. Паника случается лишь из-за ошибки программиста, например nil разыменован или не проверили границы массива.

Как правило код, отвечающий за чистое завершение прост и не может выкинуть панику. Checked предназначен чтобы накрыть собой всё, так как-где то в глубине, при вызове 3rd party пакета, который вызовет другой 3rd party пакет, может произойти panic из-за чьей-то криворукости.
Окей, что будет, если внутри функции обработки ошибки будет разыменование nil? Или это невозможно в реальном мире?
В реальном мире паника встречается редко, а обработка ошибок в подавляющем большинстве случаев это log.Println или log.Fatalln, не считая проброса ошибки наверх — return err.
А почему у вас в примерах везде time.Tick, который делает много тиков, вместо более логичного тут time.After?
Более логичным здесь мне кажется time.Sleep.
Поправлю, чтобы не сбивать никого с толку.
Офтоп: Можно узнать, что за шрифт? И цветовая схема?
Спасибо. Сам пользуюсь Menlo, но на линуксе он выглядит совсем не так image
Sign up to leave a comment.

Articles