Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Разрабатываю api для сайта, параллельно пишу клиента для этого api. Пытаюсь решить вопрос как лучше сделать обработку ошибок, видел, что часто активно используется обработка исключений, но мне в этом способе не нравится необходимость каждый запрос оборачивать двойными, а то и тройными catch. Я склоняюсь к такой схеме: запрос к api возвращает только данные(результат запроса) или false (false обозначает только ошибку, а пустой результат - это пустой массив), все исключения отлавливаются библиотекой, но при необходимости пользователь может получить ошибку(если она была) опросив переменную класса, т.е. как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Понятно, что такой код обработки не лучше чем каждый раз обертывать в catch, но не всегда надо обрабатывать ошибку, иногда можно просто пропустить обработку, если данные не были получены. Как думаете, как лучше сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 20:38 |
|
||
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
варенье, сам систему исключений очень редко использую (в принципе несколько раз только было), но это чисто по привычке :). Вообще говорят исключения очень удобны, так как прокидываются сразу через несколько уровней. Скажем есть у Вас функция подключения к чему-то, функция логина и функция получения данных. Вы это всё для удобства оборачиваете ещё в один метод. Если делать как Вы хотите, придётся кучу if...else городить. А если Вы в случае ошибок в данных трёх функциях выкидываете исключения, то и следить далее за ошибками в этих функциях не приходится, так как если одна из них выкинет исключение, то пользователь Вашего api получит данные об ошибке напрямую. Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 21:29 |
|
||
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
все функции должны возвращать либо результат либо исключение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 06:18 |
|
||
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Вот это и не нравится в PHP. Что для того что бы типизировать работу приложения необходимо городить велосипед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:42 |
|
||
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Electric200Вот это и не нравится в PHP. Что для того что бы типизировать работу приложения необходимо городить велосипед. не понял. о каком велосипеде речь то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:52 |
|
||
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
О том, что можно написать черт знает что в качестве аргументов, и получить черт знает что на выходе. И тебе за это нечего не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 13:55 |
|
||
|
api, обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Electric200О том, что можно написать черт знает что в качестве аргументов, и получить черт знает что на выходе. И тебе за это нечего не будет. вообще, так можно сказать о любом не типизированном языке :) Но можно ведь указывать класс, требуемый на вход. Поддерживаются классы и массивы (пока примитивы не поддерживаются), но в 5.6 хотели дать такую возможность. Так что пхп делает шаг к жёсткой типизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 14:17 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38354659&tid=1463542]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 400ms |

| 0 / 0 |
