javascript_javascript 기술에서 catch 사용법을 시도해 보세요.

WBOY
풀어 주다: 2016-05-16 15:44:45
원래의
1327명이 탐색했습니다.

먼저 예시를 살펴보겠습니다

<input id='b1' type='button' value='按钮'/>
<script>
window.onload=function(){
var oBtn=document.getElementById("b1");
function mto(){
alert("123");
};

try //非IE
{
oBtn.attachEvent("onclick",mto,false);

}
catch(e)//IE
{
oBtn.addEventListener("click",mto,false);
}
};
</script>

로그인 후 복사

참고:

addEventListener와 attachmentEvent의 차이점은 첫 번째 매개변수가 전자이고 후자는 onclick입니다.

addEventListener는 해당 요소의 요소 범위에서 실행됩니다

attachEvent는 전역 범위(this=window)에서 실행됩니다

Try...Catch 문

try...catch는 코드의 오류를 테스트할 수 있습니다. try 섹션에는 실행해야 하는 코드가 포함되어 있고, catch 섹션에는 오류가 발생할 때 실행되는 코드가 포함되어 있습니다.
구문:

try
{
//在此运行代码
}
catch(err)
{
//在此处理错误
}

로그인 후 복사

참고: try...catch에는 소문자를 사용하세요. 대문자가 잘못됩니다.

try...catch...finally 문

JScript에 대한 오류 처리를 구현합니다. 

  try  {  
     tryStatements}  
  catch(exception){  
     catchStatements}  
  finally  {  
     finallyStatements}  
로그인 후 복사

=========================       

매개변수

tryStatement

필수 옵션입니다. 잘못된 진술이 발생할 수 있습니다.     
예외
필수 옵션입니다. 임의의 변수 이름. 예외의 초기화 값은 발생한 오류의 값입니다.     
catch문
선택 과목. 연결된 tryStatement 에서 발생하는 오류를 처리하는 문입니다.     
finally문
선택 과목. 다른 모든 프로세스가 발생한 후에 무조건 실행되는 명령문입니다.       

설명

try...catch...finally 문은 코드 실행을 유지하면서 특정 코드 블록에서 발생할 수 있는 일부 또는 모든 오류를 처리하는 방법을 제공합니다. 프로그래머가 처리하지 않는 오류가 발생하면 JScript는 마치 오류 처리가 없었던 것처럼 사용자에게 일반적인 오류 메시지만 제공합니다. 


tryStatements 매개변수에는 발생할 수 있는 오류에 대한 코드가 포함되어 있고, catchStatement에는 발생하는 오류를 처리하기 위한 코드가 포함되어 있습니다. tryStatements에서 오류가 발생하면 처리를 위해 프로그램 제어가 catchStatements로 전달됩니다. 예외의 초기화 값은 tryStatements에서 발생한 오류의 값입니다. 오류가 발생하지 않으면 catchStatements가 실행되지 않습니다. 


오류가 발생한 tryStatements와 연결된 catchStatements에서 오류를 처리할 수 없는 경우 throw 문을 사용하여 오류를 더 높은 수준의 오류 처리기로 전파하거나 다시 발생시킵니다. 


tryStatements의 문이 실행되고 catchStatements의 모든 오류 처리가 발생한 후에는 finallyStatements의 문이 무조건 실행될 수 있습니다. 


try 또는 catch 블록에서 명령문이 반환되거나 catch 블록에서 오류가 다시 발생하더라도 finallyStatements 인코딩은 계속 실행됩니다. 일반적으로 처리되지 않은 오류가 없는 한 finallyStatments가 실행되는지 확인합니다. (예를 들어 catch 블록에서 런타임 오류가 발생합니다.)


다음 예에서는 JScript 특수 사례 처리가 수행되는 방법을 보여줍니다. 


  try  {  
    print("Outer  try  running..");  
    try  {  
      print("Nested  try  running...");  
      throw  "an  error";  
    }  
    catch(e)  {  
      print("Nested  catch  caught  "  +  e);  
      throw  e  +  "  re-thrown";  
    }  
    finally  {  
      print("Nested  finally  is  running...");  
    }     
  }  
  catch(e)  {  
    print("Outer  catch  caught  "  +  e);  
  }  
  finally  {  
    print("Outer  finally  running");  
  }  
  //  Windows  Script  Host  作出该修改从而得出  WScript.Echo(s)  
  function  print(s){  
     document.write(s);  
  }  
로그인 후 복사
은 다음과 같은 결과를 생성합니다.


아우터 런닝을 해보세요..

중첩해서 실행해 보세요...
중첩된 캐치에 오류가 발생했습니다
드디어 Nested가 실행됩니다...
외부 캐치가 잡혔을 때 오류가 다시 발생했습니다
드디어 아우터 실행

다음은 자바스크립트 예외처리 예시입니다.

var array = null;
try {
  document.write(array[0]);
} catch(err) {
  document.writeln("Error name: " + err.name + "");
  document.writeln("Error message: " + err.message);
}
finally{
  alert("object is null");
}

로그인 후 복사

프로그램 실행 과정

1. array[0]을 사용하면 array가 생성되지 않으므로 array는 빈 객체입니다. 프로그램에서 array[0]을 호출하면 null 예외가 생성됩니다.
2. catch(err) 문은 이 예외를 캡처하고 err.name을 통해 오류 유형을 인쇄하고, err.message는 오류 세부 정보를 인쇄합니다
. 3. finally는 자바의 finally와 유사하며 예외 유무에 관계없이 실행됩니다.

이제 Error.name의 6개 값에 해당하는 정보를 요약해 보겠습니다.

1. EvalError: eval()의 사용이 정의와 일치하지 않습니다.
2. RangeError: 값이 범위를 벗어났습니다
3. ReferenceError: 잘못되었거나 인식할 수 없는 참조 값
4. SyntaxError: 구문 분석 오류가 발생했습니다
5. TypeError: 잘못된 피연산자 유형
6. URIError: URI 처리 기능의 부적절한 사용

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