Size: a a a

2019 December 17

ŹR

Źmićer Rubinštejn in pro.elixir
А у тебя прилетел какой-нибудь null pointer exception и че
источник

ЛЛ

Логичный Лесник in pro.elixir
Źmićer Rubinštejn
Ну ты должен знать что ты ищешь
Ну конечно. Сервис запаниковал, прочитал трейс, почитал по логам что было до этого. И поправил. Не вижу ничего сложного.
источник

ЛЛ

Логичный Лесник in pro.elixir
Źmićer Rubinštejn
А у тебя прилетел какой-нибудь null pointer exception и че
Он тоже может прилететь и по стектрейсу видно где чё упало.
источник

OJ

O . J in pro.elixir
Źmićer Rubinštejn
Ну ты должен знать что ты ищешь
Последний инцидент в конкретном сервисе за определенный промежуток времени согласно просадке в графике прометеуса скажем.
А если мы говорим про sentry, то он мержит все одинаковые ексепшены и на выхлопе на каждый сервис ты получаешь достаточно небольшую сводку
источник

ЛЛ

Логичный Лесник in pro.elixir
Źmićer Rubinštejn
Чем больше логов - тем труднее разгребать
Наоборот
источник

OJ

O . J in pro.elixir
Źmićer Rubinštejn
А у тебя прилетел какой-нибудь null pointer exception и че
В го так не бывает.
Он в лог сразу высрет разрабу где ты неправ и кто ты после этого
источник

ЛЛ

Логичный Лесник in pro.elixir
O . J
В го так не бывает.
Он в лог сразу высрет разрабу где ты неправ и кто ты после этого
Ну так сервис не падает - просто зависает в панике и всё.
источник

ЛЛ

Логичный Лесник in pro.elixir
Открываешь логи - смотришь всё висит в панике. Посмотрел чё было до этого. Обработал ошибку. И всё.
источник

ЛЛ

Логичный Лесник in pro.elixir
При написание тестов количество таких случаев стремиться к нулю.
источник

OJ

O . J in pro.elixir
Логичный Лесник
Ну так сервис не падает - просто зависает в панике и всё.
В большинстве случаев по панике лучше падать, кроме той которую бросаешь ты. Если сам выбрасываешь панику то нужно где-то ее рекаверить, другая проблема скажем в библиотеке которую ты используешь в цепочке вызовов бросается паника которую ты не ожидаешь в таком случае лучше падать и по always restart восстанавливаться.
источник

ЛЛ

Логичный Лесник in pro.elixir
O . J
В большинстве случаев по панике лучше падать, кроме той которую бросаешь ты. Если сам выбрасываешь панику то нужно где-то ее рекаверить, другая проблема скажем в библиотеке которую ты используешь в цепочке вызовов бросается паника которую ты не ожидаешь в таком случае лучше падать и по always restart восстанавливаться.
Я сам не бросал паники, не приходилось. Кстати на счёт восстановления: https://blog.golang.org/defer-panic-and-recover простой пример
источник

ЛЛ

Логичный Лесник in pro.elixir
Но опять же использовать не приходилось, проще обработать этот случай отдельно и написать комментарий в коде, чтобы снова не наступить на те же грабли.
источник

ЛЛ

Логичный Лесник in pro.elixir
А так получается, что в любом случае ты должен знать где упадёшь, чтобы подстелить соломку и на сколько я понял, эрланг не исключение
источник

ЛЛ

Логичный Лесник in pro.elixir
То есть ты вешаешь под супервизор те части, в которых ты сомневаешься.
источник

OJ

O . J in pro.elixir
Ну я про это и говорю, вот толко стоит понимать что рекавер ты не везде сможешь воткнуть

‘’’recover() can only be used inside deferred functions. If you call recover() during normal flow, it will simply return nil . ‘’’
источник

ЛЛ

Логичный Лесник in pro.elixir
O . J
Ну я про это и говорю, вот толко стоит понимать что рекавер ты не везде сможешь воткнуть

‘’’recover() can only be used inside deferred functions. If you call recover() during normal flow, it will simply return nil . ‘’’
Ну в принципе логично.
источник

ЛЛ

Логичный Лесник in pro.elixir
Simon Khaskelberg
Так по такой логике любой язык программирования вынуждает обрабатывать ошибки. И PHP тоже
Ну PHP отдельная история, там многие ошибки ты обработать не сможешь. И их придётся глушить 💩
источник

V

V in pro.elixir
Да всё там можно обработать
источник

SK

Simon Khaskelberg in pro.elixir
Логичный Лесник
Ну PHP отдельная история, там многие ошибки ты обработать не сможешь. И их придётся глушить 💩
Например?
источник

SK

Simon Khaskelberg in pro.elixir
Мне даже интересно стало, какие ошибки ты не сможешь обработать в PHP
источник