> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 예외 처리 명령문_javascript 기술에 대한 간략한 토론

JavaScript 예외 처리 명령문_javascript 기술에 대한 간략한 토론

WBOY
풀어 주다: 2016-05-16 15:52:26
원래의
1529명이 탐색했습니다.

프로그램을 실행하는 동안 필연적으로 오류가 발생하며, 오류 이후의 실행 결과가 잘못된 경우가 많습니다. 따라서 실행 중 오류가 발생한 프로그램은 대개 강제 종료됩니다. 런타임 오류를 집합적으로 예외라고 합니다. 오류가 발생할 때 이를 처리할 수 있는 기회를 얻기 위해 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>
로그인 후 복사

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿