Size: a a a

2020 August 11

KN

Kirill Nesmeyanov in PHP
ну т.е. как будто кидатор исключения подтюнил под ловильщика
источник

АГ

Алексей Гевондян... in PHP
Альберт Степанцев
тогда что вас смущает?
то, что есть нужда возвращать инфу о валидации как некие данные, которые являются штатной ситуацией. тогда как исключения, как упомянул @fes0r, придуманы для нештатных ситуаций.
источник

AC

A C in PHP
Kirill Nesmeyanov
потому что что ты пишешь invalid argument exception какой-нибудь, что ловишь его - с другой стороны может выглядеть как "так специально"
я вот так и делаю и хочется послушать о минусах, и о вариантах получше)
источник

АС

Альберт Степанцев... in PHP
Алексей Гевондян
то, что есть нужда возвращать инфу о валидации как некие данные, которые являются штатной ситуацией. тогда как исключения, как упомянул @fes0r, придуманы для нештатных ситуаций.
не для нештатных, а для исключительных
вы через марлю читаете?
источник

SP

Sergey Protko in PHP
Альберт Степанцев
не для нештатных, а для исключительных
вы через марлю читаете?
он суть правильно уловил
источник

АС

Альберт Степанцев... in PHP
Исключительная ситуация:
- в рантайме
- ожидаема нами
- не позволяет продолжать нормальное линейное выполнение алгоритма
источник

АС

Альберт Степанцев... in PHP
попытка создания заведомо невалидного объекта - это исключение
источник

АГ

Алексей Гевондян... in PHP
Альберт Степанцев
не для нештатных, а для исключительных
вы через марлю читаете?
исключительные и нештатные - разные вещи?)
источник

АГ

Алексей Гевондян... in PHP
точнее не так, принципиально разные
источник

k

knopkod4v in PHP
Альберт Степанцев
Исключительная ситуация:
- в рантайме
- ожидаема нами
- не позволяет продолжать нормальное линейное выполнение алгоритма
так это практически всё что угодно =\
источник

АС

Альберт Степанцев... in PHP
Алексей Гевондян
исключительные и нештатные - разные вещи?)
да
разные слова - разные вещи
мы не на паре по философии с вами, у нас есть точные определения каждого термина
источник

АС

Альберт Степанцев... in PHP
Алексей Гевондян
исключительные и нештатные - разные вещи?)
источник

АС

Альберт Степанцев... in PHP
"Деление на ноль", приведенное в примере, ничем не отличается от new IntValue('wtf?')

там, и там дальнейшее использование результата операции не несет смысла
источник

SP

Sergey Protko in PHP
Альберт Степанцев
Исключительная ситуация:
- в рантайме
- ожидаема нами
- не позволяет продолжать нормальное линейное выполнение алгоритма
все ситуации увы в рантайме, потому это бесполезный критерий. все ситуации потенциально могут быть ожидаемыми. в том числе и то что база вернет результат работы а не выпадет по таймауту. Последний пункт более-менее еще что-то полезное в себе несет но тут есть риск что...

if ($collection->empty()) {
  // ой мы тут не можем нормально и линейно. исключение чтоли?
}
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
то, что есть нужда возвращать инфу о валидации как некие данные, которые являются штатной ситуацией. тогда как исключения, как упомянул @fes0r, придуманы для нештатных ситуаций.
А вас не посещала мысль, что возврат того-же Either это по сути аналог checked exception из явы?
источник

KN

Kirill Nesmeyanov in PHP
Альберт Степанцев
"Деление на ноль", приведенное в примере, ничем не отличается от new IntValue('wtf?')

там, и там дальнейшее использование результата операции не несет смысла
new FloatValue(INF) скорее)
источник

АС

Альберт Степанцев... in PHP
Kirill Nesmeyanov
new FloatValue(INF) скорее)
ну вообще-то INF вполне себе float ))
источник

KN

Kirill Nesmeyanov in PHP
ну так я ж написал, что флоат
источник

АГ

Алексей Гевондян... in PHP
крч. в чем суть. "этого тут быть не должно. втф"? - исключение. "тут может быть что угодно, поэтому мы скажем, что конкретно не так, и что мы ждем"  -инфа о валидации.
источник

KN

Kirill Nesmeyanov in PHP
просто деление на ноль может быть не ошибкой
источник