Size: a a a

2020 April 22

PP

Pavel "Al'gerd" Patapau in PHP
Ну в java есть checked exceptions
источник

AW

Alex Wells in PHP
Pavel "Al'gerd" Patapau
Ну в java есть checked exceptions
ага, от которых в котлин отказались, потому что это никому не нужно)
источник

SP

Sergey Protko in PHP
Alex Wells
а в чем проблема с таким подходом? Строгого контроля нет и в котлине, причем осознанно - живут прекрасно.
проблема в дебилах которые не умеют думать и юзать инструменты которые им дают
источник

SP

Sergey Protko in PHP
Alex Wells
ага, от которых в котлин отказались, потому что это никому не нужно)
и они в доке прекрасно объясняют почему так
источник

AW

Alex Wells in PHP
Sergey Protko
и они в доке прекрасно объясняют почему так
верно. И чем Result<T> отличается от checked exceptions? По моему это тоже самое. Если тебе возвращается Result<>, ты обязан учесть вариант когда пришел еррор. Дублировать то, что написано в доке котлина не буду.
источник

SP

Sergey Protko in PHP
Alex Wells
верно. И чем Result<T> отличается от checked exceptions? По моему это тоже самое. Если тебе возвращается Result<>, ты обязан учесть вариант когда пришел еррор. Дублировать то, что написано в доке котлина не буду.
проблема исключений происходит тогда когда ты на основе catch строишь control flow
источник

SP

Sergey Protko in PHP
Result позволяет эти цепочки более грамотно разрулилвать и у тебя будет просто 2 ветви вычислений
источник

AW

Alex Wells in PHP
Sergey Protko
проблема исключений происходит тогда когда ты на основе catch строишь control flow
такое случается слишком редко, что бы вместо этих нескольких кейсов по всему проекту проверять Result
источник

SP

Sergey Protko in PHP
принципиально разница в "явном результате операции" и "неявное всплытие по стэку вызовов"
источник

SP

Sergey Protko in PHP
Alex Wells
такое случается слишком редко, что бы вместо этих нескольких кейсов по всему проекту проверять Result
скажи об этом каким-нибудь фронтендерам которые промисами по всему проекту с тайпскриптами обмазываются, и ничего, живут
источник

AW

Alex Wells in PHP
Sergey Protko
принципиально разница в "явном результате операции" и "неявное всплытие по стэку вызовов"
так в том то и дело.. второе нужно в 99% случаев, первое - в единичных. Одно зло вместо другого.
источник

AW

Alex Wells in PHP
Sergey Protko
скажи об этом каким-нибудь фронтендерам которые промисами по всему проекту с тайпскриптами обмазываются, и ничего, живут
async await давно в моде.
источник

АС

Альберт Степанцев in PHP
Sergey Protko
принципиально разница в "явном результате операции" и "неявное всплытие по стэку вызовов"
Возврат на 1 шаг по стеку или возврат до момента catch?
невелика разница, чтобы так сильно ее бояться
источник

ЕР

Евгений Ромашкан in PHP
Sergey Protko
принципиально разница в "явном результате операции" и "неявное всплытие по стэку вызовов"
Неявное всплытие по стэку Checked Exception?
источник

SP

Sergey Protko in PHP
Alex Wells
async await давно в моде.
да, видел этих гениев которые пишут чето в стие

async fetchSomethingOrEmptyList() {
   try {
       return await fetch(`/foo-bar`)
   } catch (e) {
       return [];
   }
}


вместо

fetchSomethingOrEmptyList() {
   return fetch(`/foo-bar`).catch(() => [])
}
источник

SP

Sergey Protko in PHP
Евгений Ромашкан
Неявное всплытие по стэку Checked Exception?
от того что тебе приходится на уровне контрактов прописывать какие там исключения ты будешь кидать они "явными" не становятся. Ну и всегда можно словить runtime exception
источник

SP

Sergey Protko in PHP
то есть с одной стороны никак не помогает с другой стороны сложности с контрактами
источник

AW

Alex Wells in PHP
Sergey Protko
да, видел этих гениев которые пишут чето в стие

async fetchSomethingOrEmptyList() {
   try {
       return await fetch(`/foo-bar`)
   } catch (e) {
       return [];
   }
}


вместо

fetchSomethingOrEmptyList() {
   return fetch(`/foo-bar`).catch(() => [])
}
слишком простой пример.
источник

SP

Sergey Protko in PHP
Alex Wells
слишком простой пример.
если что я юзаю async/await, не переживай)
источник

ЕР

Евгений Ромашкан in PHP
Sergey Protko
от того что тебе приходится на уровне контрактов прописывать какие там исключения ты будешь кидать они "явными" не становятся. Ну и всегда можно словить runtime exception
Я думал мы о checked exception из Джавы которые нужно обрабатывать
источник