Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Что записать в блок catch (err)? (https://javascript.ru/forum/events/72669-chto-zapisat-v-blok-catch-err.html)

antonhauff 16.02.2018 10:56

Что записать в блок catch (err)?
 
Всем добра. Есть некий скрипт, который запускается через Tampermonkey на некотором сайте. Порой он может проработать до 24 часов без нареканий. Порой, останавливается через полчаса после запуска. Посоветовали затолкать код скрипта в конструкцию типа:
try {
// код ...
} catch (err) {
// обработка ошибки
}

Я не знаю почему скрипт останавливается и мне требуется узнать. Может это какая-то ошибка в самом скрипте, а может это ошибка сайта - я не знаю. Подскажите, что писать в блоке catch для моей ситуации

Nexus 16.02.2018 11:09

Если вы не знаете, что нужно писать в блоке catch, то нужна ли вам это конструкция вообще?
Из "err" можно вытянуть информацию об ошибке, как с ней поступить решать только вам.
Можете проигнорировать её, отправить на сервер или вывести в консоль (хотя это будет выполнено и без try catch).

ksa 16.02.2018 11:10

Цитата:

Сообщение от antonhauff
Подскажите, что писать в блоке catch для моей ситуации

Для начала можно записать так
try {
// код ...
} catch (err) {
   console.log(err);
   alert('Error!');
};

Потом смотри какая информация к тебе пришла... Может найдешь что полезное там для себя...

laimas 16.02.2018 13:50

https://developer.mozilla.org/ru/doc...ts/try...catch

antonhauff 20.02.2018 11:58

Дело в том, что скрипт перестает работать.
Ошибка, из-за которого останавливается скрипт следующая POST 500 () jquery.js:1.

antonhauff 20.02.2018 11:58

Ошибка, из-за которого останавливается скрипт следующая POST 500 () jquery.js:1.

Nexus 20.02.2018 12:06

antonhauff, это, вероятно, ошибка сервера, а не jq-скрипта.
Обрабатывайте некорректные ответы от сервера и ошибки выполнения скрипта можно будет избежать.
$.post('/script.php',function(){
    alert('Запрос выполнен');
}).fail(function(){
    //Этот блок будет выполнен в случае ошибки
    alert('Что-то пошло не так');
});

antonhauff 20.02.2018 12:10

Цитата:

Сообщение от Nexus (Сообщение 478615)
antonhauff, это, вероятно, ошибка сервера, а не jq-скрипта.
Обрабатывайте некорректные ответы от сервера и ошибки выполнения скрипта можно будет избежать.
$.post('/script.php',function(){
    alert('Запрос выполнен');
}).fail(function(){
    //Этот блок будет выполнен в случае ошибки
    alert('Что-то пошло не так');
});

Тут мой косяк, не так выразился:)
Да, ошибка сервера. То есть это выражение я вставляю в блок catch?

Nexus 20.02.2018 13:02

antonhauff, он вообще не нужен.

antonhauff 20.02.2018 13:08

Цитата:

Сообщение от Nexus (Сообщение 478615)
antonhauff, это, вероятно, ошибка сервера, а не jq-скрипта.
Обрабатывайте некорректные ответы от сервера и ошибки выполнения скрипта можно будет избежать.
$.post('/script.php',function(){
    alert('Запрос выполнен');
}).fail(function(){
    //Этот блок будет выполнен в случае ошибки
    alert('Что-то пошло не так');
});

Цитата:

Сообщение от Nexus (Сообщение 478619)
antonhauff, он вообще не нужен.

Тогда куда вставлять эти строчки кода?)


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