- Выпуск языка программирования Go 1.19, InuYasha, 09:53 , 03-Авг-22 (3) +4
- Выпуск языка программирования Go 1.19, Аноним, 10:04 , 03-Авг-22 (6) +4
- Выпуск языка программирования Go 1.19, Аноним, 11:34 , 03-Авг-22 (38) +4
- Выпуск языка программирования Go 1.19, Аноним, 11:44 , 03-Авг-22 (43)
- Выпуск языка программирования Go 1.19, НяшМяш, 12:55 , 03-Авг-22 (63)
- Выпуск языка программирования Go 1.19, Rev, 14:01 , 03-Авг-22 (74)
- Выпуск языка программирования Go 1.19, Аноним, 10:05 , 03-Авг-22 (8) –6 [V]
- Выпуск языка программирования Go 1.19, Аноним, 10:05 , 03-Авг-22 (9) +3
- Выпуск языка программирования Go 1.19, Аноним, 11:19 , 03-Авг-22 (35) –2
- Выпуск языка программирования Go 1.19, Аноним, 12:22 , 03-Авг-22 (54) +4
- Выпуск языка программирования Go 1.19, Аноним, 18:04 , 03-Авг-22 (99) –3
- Выпуск языка программирования Go 1.19, Додо, 18:59 , 03-Авг-22 (119)
Зато неприятно искать, в каком конкретно месте вылезла эта ошибка. Исключений языку явно не хватает.
- Выпуск языка программирования Go 1.19, Kuku, 19:53 , 03-Авг-22 (124) +2
- Выпуск языка программирования Go 1.19, Voothi, 00:49 , 04-Авг-22 (138)
- Выпуск языка программирования Go 1.19, Додо, 14:41 , 05-Авг-22 (202)
> В Go есть исключения. И сделанны они именно так, как это должно > быть. А не так, как в Java/C#/Python/PHP..., когда варианты результата множества > неправильно спроектированных функций отлавливаются через try/catch У них прямо в FAQ есть раздел "почему в Go нет исключений": https://go.dev/doc/faq#exceptions Для справки: паника != исключение. В стандартной библиотеке нет возможности получить stack trace для ошибки (только для паники). Это реализовано сбоку в https://pkg.go.dev/github.com/pkg/errors#hdr-Retrieving_the_... и не будет работать для подобных случаев: ``` var ErrSomethingHappened = errors.New("some error happened") function someFunc() error { return ErrSomethingHappened } ``` А если возвращать ошибки через `return errors.New("something happened")` - то будет невозможно проверить эту ошибку иначе как сравнением текста. Самая жопа с этим - для ошибок, возвращаемых через `fmt.Errorf`, их только в лог выводить. Вот и получается, что в Go нельзя одновременно: - определить, что за ошибка; - получить stack trace этой ошибки; - сделать вышеуказанное для всех библиотек. И приходится ползать отладчиком по коду чужих библиотек, разбираясь, откуда эта ошибка вообще вылезла. Если бы в языке были исключения как в нелюбимыми вами Java/C#/Python/PHP/..., можно было бы увидеть весь stack trace и сразу определить место, где оно было брошено. А так язык классный и быстрый, да. Но не без недостатков.
- Выпуск языка программирования Go 1.19, Аристарх, 17:09 , 06-Авг-22 (215)
- Выпуск языка программирования Go 1.19, Антуан, 21:12 , 03-Авг-22 (129) +1
- Выпуск языка программирования Go 1.19, Аноним, 10:53 , 03-Авг-22 (19) –1
- Выпуск языка программирования Go 1.19, Phil, 11:00 , 03-Авг-22 (23) +2
- Выпуск языка программирования Go 1.19, _kp, 11:13 , 03-Авг-22 (30)
- Выпуск языка программирования Go 1.19, Аноним, 17:36 , 03-Авг-22 (90) +2
- Выпуск языка программирования Go 1.19, Ан, 20:41 , 04-Авг-22 (174)
- Выпуск языка программирования Go 1.19, Аноним, 11:16 , 03-Авг-22 (32)
- Выпуск языка программирования Go 1.19, InuYasha, 11:18 , 03-Авг-22 (33) –2
- Выпуск языка программирования Go 1.19, Аноним, 11:57 , 03-Авг-22 (46) +2
- Выпуск языка программирования Go 1.19, microsoft, 12:31 , 03-Авг-22 (55) [V]
- Выпуск языка программирования Go 1.19, Аноним, 13:25 , 03-Авг-22 (71) –2
- Выпуск языка программирования Go 1.19, YetAnotherOnanym, 13:42 , 03-Авг-22 (72)
- Выпуск языка программирования Go 1.19, Google, 14:42 , 03-Авг-22 (84)
- Выпуск языка программирования Go 1.19, Аноним, 17:41 , 03-Авг-22 (91)
- Выпуск языка программирования Go 1.19, achtosluchilos, 19:38 , 03-Авг-22 (123)
- Выпуск языка программирования Go 1.19, T00, 22:40 , 03-Авг-22 (131)
- Выпуск языка программирования Go 1.19, Аноним, 16:37 , 04-Авг-22 (168)
- Выпуск языка программирования Go 1.19, Аноним, 20:21 , 11-Авг-22 (222)
|