이 기사의 예에는 JavaScript 프로그래밍의 예외 처리 방법이 요약되어 있습니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
머리말: 이전 기사 "asp.net 개발의 일반적인 공개 예외 포착 방법 요약"에서 asp.net 서버의 예외 처리를 요약했습니다. 이 글은 이전 글에 이어 클라이언트 측에서 JavaScript 예외 처리를 간략하게 요약하고 논의합니다. 이러한 방식으로 우리는 asp.net 서버 측 및 클라이언트 측 예외 처리에 대해 사전적으로 이해했습니다.
1. 짜증나는 스크립트 오류
Lou Zhu는 13을 자주 플레이하지만 일반적으로 깊이가 없습니다. 때로는 영어로 된 구절을 이해하는 데 어려움을 겪었고 마침내 다시 깊이 있는 척할 수 있었습니다.
인터넷에서 웹 페이지를 검색할 때 런타임 오류가 있음을 알리고 "디버깅하시겠습니까?"라고 묻는 JavaScript 경고 상자를 본 적이 있을 것입니다. 이와 같은 오류 메시지는 개발자에게는 유용할 수 있지만 사용자에게는 그렇지 않습니다. . 사용자는 오류를 발견하면 웹페이지를 떠나는 경우가 많습니다.
야, 위 문단이 이해가 안 가? 우아하고 투박하게 표현하자면, nclouzhu는 웹 페이지를 열 때 때때로 "디버깅하시겠습니까?"라고 묻는 스크립트 오류와 같은 SB 문제가 발생한다는 것을 이해합니다. 귀찮지 않나요? 일반 사용자는 습관적으로 오른쪽 상단의 빨간색 십자가를 선택하는 경우가 많지만, 이런 프롬프트 정보는 개발자에게 매우 유용할 수 있습니다. 그러고 보니 개발자들이 보통이 아닌 것 같군요? ! Lou Zhu가 오해한 것 같습니다. 사실, 원본 텍스트의 궁극적인 의도는 웹 페이지의 스크립트 오류가 매우 심각하고 사용자 경험이 좋지 않아 잠재적인 사용자 그룹을 "겁나게" 할 것임을 알려주는 것임을 아는 것은 어렵지 않습니다. 헛되이.
2. 스크립트 오류 처리 방법
JS에서는 일반적으로 try...catch를 통해 예외를 포착하고 처리합니다.
try { //Run some code here } catch(e) { //Handle errors here }
실제 코드에서는 다음과 같이 작성할 수 있습니다.
function test(){ var txt=""; try{ alert(aaa);//aaa是未声明的变量 } catch(e){ txt="There was an error on this page.\n\n"; txt+="Error message: " + e.message + "\n\n"; txt+="Error description: " + e.description + "\n\n"; txt+="Error name: " + e.name + "\n\n"; //alert(txt);//正式平台上可能需要注释掉该行 } }
또 다른 일반적인 접근 방식은 창 개체의 onerror 이벤트에 대한 일반적인 처리 방법을 등록하고 페이지의
섹션에 다음 코드를 배치하는 것입니다.window.onerror=function(){ return true; }
3. 자바스크립트 오류
(1), Error 객체의 공통 속성
예외를 포착할 때 일반적으로 포착 시 Error 객체의 인스턴스 e를 던집니다.
속성 설명
설명 예외 설명 정보
메시지 비정상적인 설명 정보
이름 예외 유형
숫자 고유 예외 코드
(2), 오류 개체 유형
(1)의 name 속성을 통해 예외 유형을 확인할 수 있습니다. js에는 다음과 같은 몇 가지 일반적인 예외 유형이 있습니다.
TypeError: 선언되지 않은 변수와 같이 예상치 못한 유형이 발견될 때 발생합니다.
SyntaxError: 서버 측 등록 스크립트, 누락된 괄호 또는 따옴표 등 js 코드를 구문 분석할 때 구문 오류로 인해 발생합니다.
ReferenceError: 잘못된 참조가 사용되면 이 예외가 발생합니다.
EvalError: eval 함수가 잘못 호출되면 발생합니다.
RangeError: 숫자 변수의 값이 해당 범위를 초과할 때 발생합니다.
URIError : encodeURI() 또는 decodeURI() 함수가 잘못 사용되면 발생합니다.
이 기사가 JavaScript 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.