2015-05-21 3 views
1

У нас была ситуация сегодня, когда 1 небольшая ошибка (строка 500) в нашем файле библиотеки JS (3000+ строк) вызвала ошибку времени выполнения (вызов метода на неопределенный объект).Ошибка javascript прекращает выполнение во время выполнения

Ошибка остановила дальнейшее выполнение всего остального кода в файле библиотеки, что привело к неправильной работе нашего сайта.

Мой вопрос:

  1. Поскольку JS однопоточен, будет разделив наш код на несколько файлов и областей поможет решить проблемы, как это в будущем?
  2. Если мы не разделим его, как мы можем предотвратить это.

ТНХ,

ответ

0

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

if (myObject && myObject.myObjectFunction) 
    myObject.myFunction(); 
else 
    return false; 

Если объект существует и объект имеет функцию, которую вы хотите позвонить, то это будет вызывать функцию, в противном случае она будет возвращать false и не пытаться вызвать функцию, что позволяет избежать ошибок полностью.

+0

бы попробовать поймать приравнивают к тому же? Причина, по которой я прошу, - это всегда нервничать от бесшумных методов/функций. – Pogrindis

0
  1. Вы не можете: js скрипты загружаются сразу.
  2. Единственный способ предотвратить это, чтобы создать свой код правильно, используя TRY/поймать и писать и запускать тесты