자바스크립트에서 예외를 잡는 방법은 무엇입니까?

青灯夜游
풀어 주다: 2023-01-07 11:44:16
원래의
8062명이 탐색했습니다.

방법: 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에서 예외를 잡는 방법

JavaScript예외는 주로try catch finally문과 창 개체windowonerror를 사용합니다. /code>캡처할 이벤트입니다.JavaScript的异常主要使用try catch finally语句以及窗口对象windowonerror事件来捕获。

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는 런타임 오류만 잡을 수 있고 구문 오류는 잡을 수 없습니다. 오류 정보, 스택, 오류 파일, 줄 번호, 열 번호를 가져옵니다. 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 window.onerror는 구문 오류를 잡을 수 있습니다. 또는 By 런타임 오류를 캡처하면 오류 정보, 스택, 오류 파일, 줄 번호 및 열 번호를 얻을 수 있습니다. 현재 에서 실행된 Js스크립트의 모든 오류는 캡처된 경우 window.onerror를 통해 프런트엔드 오류 모니터링을 수행할 수 있습니다. 보안상의 이유로 다른 도메인에서 로드된 스크립트에서 구문 오류가 발생하면 구문 오류에 대한 세부 정보가 보고되지 않습니다. rrreee【추천 학습: javascript 고급 튜토리얼】

위 내용은 자바스크립트에서 예외를 잡는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!