2017-01-23 3 views
-1

벽돌 블로그가있는 웹 사이트가 있습니다. 나는 Masonry js plugin (http://masonry.desandro.com/)을 사용한다.캐치 시도 오류 잡기

하지만 페이지는 제가 콘솔에서 JS 오류 (페이지에 대한 예를 들어) 블로그가없는 경우 :

Bad masonry element: null 

내가 "캐치를 시도"사용하려고

(function($){ 

    "use strict"; 

    $(document).ready(function(){ 

     try { 
      var container = document.querySelector('#masonry'); 
      var msnry = new Masonry(container, { 
       itemSelector: '.post-item' 
      }); 
     } catch(err) { 

     } 

    }); 

})(window.jQuery); 

하지만 여전히를 이 오류가 발생합니다.

답변

0

시도 캐치 문을 비활성화 할 수 없습니다, 오류를 포착하고 처리하는 데 사용되는 컨테이너에 검사를 추가 할 수 나타나지 해당 메시지를 방지합니다. 다음 코드를 사용하여 오류를 방지하십시오.

(function($){ 

    "use strict"; 

    $(document).ready(function(){ 

      if($("#masonry").length) { 
       var container = document.querySelector('#masonry'); 
       var msnry = new Masonry(container, { 
       itemSelector: '.post-item' 
       }); 
      } 

    }); 

})(window.jQuery); 
0

콘솔에 표시되는 오류 메시지는 플러그인에서 명시 적으로 기록합니다.

당신이

catch(err) { 
    console.log('exception is caught', err); 
} 

당신은 예외가 잘 잡힌되고 나타납니다 넣어합니다. 당신은

var container = document.querySelector('#masonry'); 
if(container){ 
    var msnry = new Masonry(container, { 
     itemSelector: '.post-item' 
    }); 
}