프로그램을 실행하는 동안 필연적으로 오류가 발생하며, 오류 이후의 실행 결과가 잘못된 경우가 많습니다. 따라서 실행 중 오류가 발생한 프로그램은 대개 강제 종료됩니다. 런타임 오류를 집합적으로 예외라고 합니다. 오류가 발생할 때 이를 처리할 수 있는 기회를 얻기 위해 JavaScript는 예외 처리 문을 제공합니다. try-catch, try-catch-finally 및 throw가 포함되어 있습니다.
try-catch 문
try{ tryStatements } catch(exception){ catchStatements }
매개변수 설명:
tryStatements: 필수입니다. 오류가 발생할 수 있는 일련의 명령문입니다.
예외: 필수. 오류가 발생했을 때 오류 개체를 참조하는 데 사용된 변수 이름입니다.
catchStatements: 선택 사항입니다. tryStatements에서 발생하는 오류를 처리하는 데 사용되는 오류 처리 문입니다.
코딩을 할 때, 오류가 발생할 수 있는 문장은 대개 try 블록의 중괄호 안에 적고, 그 뒤의 catch 블록에서 오류를 처리합니다. 오류 정보는 예외 참조를 통해 액세스할 수 있는 오류 개체(Error 개체)에 포함되어 있습니다. 오류 객체의 오류 정보를 기반으로 처리 방법을 결정합니다.
<script type="text/javascript"> try{ var n = error; //人为引发一个错误,error未定义就使用 } catch(e){ alert((e.number&0xFFFF) + "号错误:" + e.description); //错误处理:仅输出错误信息 } </script>
이 코드 조각은 try-catch 구조를 사용하여 프로그램 런타임 오류를 처리하고 4행에서는 인위적으로 오류를 발생시킵니다. 6~9행의 catch 블록은 오류를 잡아서 처리합니다.
팁: JavaScript 오류는 런타임 오류 및 구문 오류입니다. 런타임 오류는 실행 프로세스 중에 발견됩니다.
try-catch-finally 문
try{ tryStatements; } catch( exception ){ handleStatements; } finally{ fianllyStatements; }
매개변수 설명:
tryStatements: 필수, 예외를 일으킬 수 있는 문입니다.
handlerStatements: 선택 사항, 예외 처리 문.
fianllyStatements: 선택 사항이며 다른 프로시저 실행 후 무조건 실행되는 문입니다.
오류가 발생하지 않더라도 finally 블록의 명령문은 마지막에 실행되며 일반적으로 리소스 정리 코드가 여기에 배치됩니다.
Apple 이름이 포함된 배열을 순회하는 동안 예외가 인위적으로 발생합니다.
<script type="text/javascript"> try{ var fruit = new Array("鸭梨","苹果","葡萄","李子"); for( n=0;n<fruit.length;m++) { document.write(fruit[n] + ""); } } catch( e ) { alert( (e.number&0xFFFF) + "号错误:" + e.description ); } finally{ fruit = null; alert("fruit="+fruit+"已经断开fruit数组的引用!"); } </script>
이 코드 조각의 5행에서는 정의되지 않은 변수 m을 사용하여 인위적으로 예외를 트리거합니다. 11~13행에서는 예외를 포착하고 처리합니다. 14~18행의 finally 블록은 리소스를 정리합니다. 이 문은 과일 배열이 차지하는 리소스가 누출되지 않도록 보장하기 위해 무조건 실행됩니다.
throw문
여러 예외 처리 문을 중첩할 수 있습니다. 여러 구조가 중첩된 경우 내부 계층의 try-catch 문이 예외 자체를 처리할 의도가 없으면 해당 구조를 던질 수 있습니다. 부모 try-catch 문은 자식이 던진 예외를 받을 수 있으며, 던지는 작업에서는 throw 문을 사용합니다.
표정을 던지다;
표현식의 값은 오류 메시지 객체로 전달되며, 이는 catch 문에 의해 캡처됩니다. throw 문은 예외가 발생하려는 모든 곳에서 사용할 수 있습니다.
일반적으로 0은 제수로 사용할 수 없으므로 예외를 정의하고 제수가 0이면 예외를 던질 수 있습니다.
<script> try{ var dividend = 100; //被除数 var parts = 0; //除数 if( parts == 0){ //如果除数为0则抛出异常 throw "Error:parts is zero"; //抛出异常 } alert("每人" + dividend/parts + "份"); //输出提示信息 } catch(e){ //此处将捕获try块中抛出的异常 alert(e); //用对话框输出错误对象的信息 } </script>
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

뜨거운 주제



