뭔가 잘못되었을 때 예외를 throw하는 Javascript 함수가 있습니다. 나는이 행동에 너무 익숙하다. 언젠가는 함수가 예외를 던지지 않았기 때문에 언젠가는 20 분 이상이 걸린다. 단지 조용히 실패했다.jQuery를 통해로드 된 자바 스크립트 Ajax가 Firebug에서 예상되는 예외를 throw하지 않습니다.
Firefox에서 Firebug 플러그인을 사용하여 다음 코드를 시도해보십시오.
function myfunc(key)
{
alert('I started');
if(!key)
throw 'myfunc: Invalid arguments';
}
그런 다음 코드로 두 번째 HTML 페이지를 만들 :
<script type="text/javascript">
myfunc(null);
alert('Exception was before me!');
</script>
및 jQuery를 $의 아약스 기능의 첫 번째 페이지에서 두 번째 HTML 페이지를로드 기능이있는 HTML 페이지를 작성합니다.
코드가 올바르게 실행되지만 Firebug 콘솔에 예외가 기록되지 않습니다.
uncaught exception: myfunc: Invalid arguments
을하지만 의해 실행하면 아무것도 로그 아웃하지가 : 당신이 바로 frst HTML 페이지에서 동일한 기능이 myfunc (널)를 실행하면
, 당신은 iimediately 방화범에 빨간색 선은 그 자체 말하는거야 jQuery (jQuery는 $ .ajax 이후에 스크립트를 실행하기 위해 eval을 사용한다).
jQuery 자체가 예외를 포착하고 Javascript를 평가하는 동안 예외를 무시한다는 것을 의미합니까? 내 예외 사항을 처리하도록 jQuery에 알릴 수있는 방법이 있습니까?
jQuery가 'myfunc : Invalid arguments'예외를 다시 발생 시키길 원하지만 실제로 발생하지는 않습니다. 첫 번째 HTML 페이지에서 myfunc (null)을 바로 실행하면 Firebug에 빨간색 줄이 표시됩니다. "잡히지 않는 예외 : myfunc : 잘못된 인수"와 나는 무슨 일이 일어 났는지 알고 있습니다. 그러나 AJAX 스크립트에서 이런 일이 발생하면 예외가 사라집니다. – JustAMartin