Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   node-custom-errors: создание своих классов исключений (https://javascript.ru/forum/project/43346-node-custom-errors-sozdanie-svoikh-klassov-isklyuchenijj.html)

vasa_c 02.12.2013 11:34

node-custom-errors: создание своих классов исключений
 
Здравствуйте.

В JS, как и во многих других языках, есть исключения. Только, если в других языках принято плодить множество своих классов, то в JS это практикуется редко. Наверное, потому, что на голом яваскрипте плодить любые "классы" - замучаешься.

Я как-то даже опус на эту тему писал.

Теперь я занялся node.js и решил посмотреть, как в данном сообществе принято работать с исключениями. Создалось впечатление, что никак не принято.

По этому поводу, как всегда, нужно написать свой лисапед. Встречайте - node-custom-errors (даже документация есть).

Создание своих исключений, наследование, поддержка корректного стека, блоки исключений и ещё множество бессмысленных фич.

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

И напоследок просьба поделиться опытом:

1. Пользуетесь ли вы исключениями в JS (клиентском или серверном, неважно)? Или не заморачиваетесь?

2. Если пользуетесь, то только один Error кидаете или всё-таки создаёте свои "классы"?

3. Если есть знатоки ноды, расскажите, есть там какой-нибудь писанный или не писанный стандарт по поводу исключений?

4. Ну и если кто краткое ревью кода сделает, тоже большое спасибо скажу.

kobezzza 02.12.2013 12:14

Ну для начала: http://www.youtube.com/watch?v=5etqN...ature=youtu.be

А вообще не понял о чём вопрос. Если о том, что стоит ли юзать ОО подход при обработке ошибок, то тогда ответ - да, конечно стоит, тем более всё для этого у нас есть и не надо из бедного Error городить мега блендер.

А если про то, как обрабатывать ошибки, то в ноде на этот счёт есть правило: не кидайте исключений совсем, а прокидывайте их в колбек как первый параметр, т.к. в асинхронной природе ноды try catch работает немного не так, как от него ждут.

Однако в АПИ ноды во первых есть:
http://www.youtube.com/watch?v=AP_rA...ature=youtu.be

А также стоит посмотреть:
http://www.youtube.com/watch?v=oOgXm...ature=youtu.be
http://www.youtube.com/watch?v=0Wq5V...ature=youtu.be

vasa_c 02.12.2013 12:49

Цитата:

Сообщение от kobezzza

Ну, в общем, так и сделано.

Цитата:

Сообщение от kobezzza
А вообще не понял о чём вопрос. Если о том, что стоит ли юзать ОО подход при обработке ошибок, то тогда ответ - да, конечно стоит, тем более всё для этого у нас есть и не надо из бедного Error городить мега блендер.

Вопроса особенного, то и нету. Просто мнения собираю.
Ясно, что "юзать ОО подход", это всегда хорошо. Но даже во многих достаточно качественных js-проектах для ошибок это не слишком распространено.

Цитата:

Сообщение от kobezzza
Однако в АПИ ноды во первых есть:
http://www.youtube.com/watch?v=AP_rA...ature=youtu.be

А также стоит посмотреть:
http://www.youtube.com/watch?v=oOgXm...ature=youtu.be
http://www.youtube.com/watch?v=0Wq5V...ature=youtu.be

Спасибо!


Часовой пояс GMT +3, время: 22:03.