Здравствуйте. Есть скрипт:
JSFiddle , все работает, однако скрипт вызывает ошибки, которые ломают его. Решил использовать конструкцию try { ... } catch(e) { ... } и все стало на свои места. Однако можно ли решить данную проблему без данной конструкции и нужно ли вообще ( объясните пожалуйста по поводу этой конструкции, а именно стоит ли пытаться избавиться от ошибок или и так сойдет )? Прошу обратить внимание на выделенные части кода, что вызывают ошибку :
div.classList.add('tip');
currentTarget.appendChild(div);
if (div.offsetHeight > (parseInt(getComputedStyle(document.querySelector('#house')).marginTop) - pageYOffset)) {
div.classList.remove('tip');
div.classList.add('tip-bottom');
}
и
try {
currentTarget.removeChild(currentTarget.querySelector('.tip-bottom'));
}
catch(e) {
console.log(e);
}
try {
currentTarget.removeChild(currentTarget.querySelector('.tip')) || relatedTarget.removeChild(relatedTarget.querySelector('.tip'));
}
catch(e) {
console.log(e);
}