방법: 1. try catch finally 문, 구문 "try{//Debug code block}catch(e) {//Capture process 예외}finally{//Later cleanup code block}"을 사용합니다. 2. 창 개체 창을 사용합니다. 오류 발생 이벤트.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
JavaScript
예외는 주로try catch finally
문과 창 개체windowonerror를 사용합니다. /code>
캡처할 이벤트입니다.JavaScript
的异常主要使用try catch finally
语句以及窗口对象window
的onerror
事件来捕获。
try catch finally
try catch finally
只能捕获运行时的错误,无法捕获语法错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号。try catch finally
语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。
try{ // try_statements throw new TypeError("Test"); }catch (e){ // catch_statements console.log("catch_statements"); if(e instanceof TypeError){ // handle this expected error console.log("handle this expected error"); }else{ // handle unexpected error console.log("handle unexpected error"); } }finally{ // finally_statements console.log("finally_statements"); } /* 注: [catch (e if e instanceof TypeError) { // 非标准 catch_statements }] */
通过Error
的构造器可以创建一个错误对象,当运行时错误产生时,Error
的实例对象会被抛出,Error
对象也可用于用户自定义的异常的基础对象,Js
内建了几种标准错误类型:
EvalError
: 创建一个error
实例,表示错误的原因:与eval()
有关。RangeError
: 创建一个error
实例,表示错误的原因:数值变量或参数超出其有效范围。ReferenceError
: 创建一个error
实例,表示错误的原因:无效引用。SyntaxError
: 创建一个error
实例,表示错误的原因:eval()
在解析代码的过程中发生的语法错误。TypeError
: 创建一个error
实例,表示错误的原因:变量或参数不属于有效类型。URIError
: 创建一个error
实例,表示错误的原因:给encodeURI()
或decodeURl()
传递的参数无效。window.onerror
window.onerror
可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号,只要在当前window
执行的Js
脚本出错都会捕捉到,通过window.onerror
try catch finally
는 런타임 오류만 잡을 수 있고 구문 오류는 잡을 수 없습니다. 오류 정보, 스택, 오류 파일, 줄 번호, 열 번호를 가져옵니다.
try catch finally
문은 시도할 문 블록을 표시하고 예외가 발생할 경우 던져질 응답을 지정합니다.
/* message:错误信息(字符串)。 source:发生错误的脚本URL(字符串) lineno:发生错误的行号(数字) colno:发生错误的列号(数字) error:Error对象(对象) 若该函数返回true,则阻止执行默认事件处理函数。 */ window.onerror = function(message, source, lineno, colno, error) { // onerror_statements } /* ErrorEvent类型的event包含有关事件和错误的所有信息。 */ window.addEventListener('error', function(event) { // onerror_statements })
Error
생성자를 통해 생성할 수 있습니다. 런타임 오류가 발생하면
Error
의 인스턴스 객체가 발생합니다. code> 객체는 사용자 정의 예외의 기본 객체로 사용될 수도 있습니다.
Js
에는 여러 내장 표준 오류 유형이 있습니다:
EvalError
:eval()
과 관련된 오류의 원인을 나타내는error
인스턴스를 만듭니다.RangeError
: 오류 원인을 나타내는error
인스턴스를 생성합니다. 숫자 변수 또는 매개변수가 유효한 범위를 초과했습니다.ReferenceError
: 오류의 원인을 나타내는error
인스턴스를 생성합니다: 잘못된 참조.SyntaxError
: 오류의 원인을 나타내는error
인스턴스를 생성합니다.eval()
이 프로세스 중에 발생합니다. 코드 구문 오류를 구문 분석합니다.TypeError
: 오류의 원인을 나타내기 위해error
인스턴스를 생성합니다. 변수 또는 매개변수가 유효한 유형에 속하지 않습니다.URIError
: 오류 원인을 나타내는error
인스턴스를 생성합니다.encodeURI()
또는를 제공합니다. decodeURl( )
전달된 매개변수가 잘못되었습니다.window.onerror
는 구문 오류를 잡을 수 있습니다. 또는 By 런타임 오류를 캡처하면 오류 정보, 스택, 오류 파일, 줄 번호 및 열 번호를 얻을 수 있습니다. 현재
창
에서 실행된
Js
스크립트의 모든 오류는 캡처된 경우
window.onerror
를 통해 프런트엔드 오류 모니터링을 수행할 수 있습니다. 보안상의 이유로 다른 도메인에서 로드된 스크립트에서 구문 오류가 발생하면 구문 오류에 대한 세부 정보가 보고되지 않습니다. rrreee【추천 학습: javascript 고급 튜토리얼】
위 내용은 자바스크립트에서 예외를 잡는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!