В случае ошибки возобновить следующий в Javascript? - PullRequest
8 голосов
/ 05 июня 2010

Предоставляет ли try ... catch(e) ту же услугу, что и On Error Resume Next в VB?

У меня есть страница, которая использует несколько плагинов JQuery, а также некоторые функции, которые я написал сам. Потребовалось бы много работы, чтобы устранить все возможные исключения.

На данный момент я хочу сказать, что сценарий, на котором не следует останавливаться, будет фатальной ошибкой. Как мне это сделать, когда я использую плагины?

Ответы [ 2 ]

11 голосов
/ 05 июня 2010

Да, try / catch предоставляет способ захвата ошибок, хотя, в отличие от On Error Resume Next, вы решаете устранить ошибку в блоке catch или нет совсем.

Итак, в VB вы могли бы сделать:

on error resume next
DoSomethingUnsavory
if err.number <> 0 then ...
on error goto 0 ' you DO do this, right?

В JS вы бы сделали следующее:

try {
    doSomethingUnsavory();
}
catch (e) {
    // handle the unsavoriness if needed
}

Конечно, пустые блоки catch - это зло, поэтому не оставляйте их в рабочем коде yadda yadda. Лучше всего позволить ошибкам возникать и исправлять их. Сбой быстро!

4 голосов
/ 12 июня 2012

Насколько мне известно, в javascript нет сообщения об ошибке возобновления, но следующая модель удовлетворит ваше требование

try
{
    var providerRateAvg = data.entry.gd$rating.average;
}
catch(e)
{}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...