JavaScript try/catch/finally 문
- 이전 페이지 throw
- 다음 페이지 var
- 上一层으로 돌아가기 JavaScript 문 참조 매뉴얼
정의와 사용법
try/catch/finally 문은 코드 블록에서 발생할 수 있는 일부 또는 모든 오류를 처리하면서도 코드를 계속 실행합니다.
오류는 프로그래머가 만든编码 오류, 잘못된 입력으로 인한 오류 및 예상할 수 없는 상황 등 여러 가지 일 수 있습니다.
try 문은 실행 중에 오류를 테스트할 수 있는 코드 블록을 정의하는 데 사용됩니다.
try 블록에서 오류가 발생하면 catch 문은 실행할 코드 블록을 정의할 수 있습니다.
finally 문은 try와 catch 후에 관계없이 코드를 실행할 수 있도록 합니다.
주석:catch와 finally 문은 선택 사항입니다. 하지만 try 문을 사용할 때는 반드시 하나 이상을 사용해야 합니다. 두 문을 동시에 사용하지 않는 경우.
추천:오류가 발생하면 JavaScript는 일반적으로 중지되고 오류 메시지를 생성합니다. throw 문을 사용하여 사용자 정의 오류(예외)를 생성하세요. throw와 try, catch를 함께 사용하면 프로그램 흐름을 제어하고 사용자 정의 오류 메시지를 생성할 수 있습니다.
JavaScript 오류에 대해 더 알고 싶다면, JavaScript 오류 강의를 공부하세요.
예제
이 예제에서는 코드에서(try 블록에서) 글자를 잘못 썼습니다.
이 예제는 "Welcome guest!"을 표시해야 합니다. 하지만 alert의 스피링은 잘못되었습니다.
catch 블록은 오류를 잡아서 이를 처리하는 코드를 실행합니다:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Welcome guest!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
페이지 아래에 더 많은 TIY 예제가 있습니다.
문법
try { tryCode - 시도할 코드 블록 } catch(err) { catchCode - 오류를 처리하는 코드 블록 } finally { finallyCode - try / catch 결과와 관계없이 실행되는 코드 블록 }
파라미터 값
파라미터 | 설명 |
---|---|
tryCode | 필수 사항입니다. 실행 중 오류를 테스트하는 코드 블록입니다. |
err | 필수 사항입니다. catch와 함께 사용할 때. 오류를 참조하는 지역 변수를 지정합니다. 이 변수는 Error 객체를 참조할 수 있습니다. 예를 들어, 발생한 오류에 대한 정보를 포함한 메시지 "'addlert' is not defined"입니다. throw 문으로 생성된 예외가 되면, 이 변수는 throw 문에서 지정된 객체를 가리킵니다. ("더 많은 예제"를 참조하세요). |
catchCode | 선택 사항입니다. try 블록에서 오류가 발생하면 실행되는 코드 블록입니다. 오류가 발생하지 않으면 이 코드 블록은 결코 실행되지 않습니다. |
finallyCode | 선택 사항입니다. try / catch 결과와 관계없이 항상 실행되는 코드 블록입니다. |
기술 세부 사항
JavaScript 버전: | ECMAScript 3 |
---|
更多实例
예제
이 예제는 입력을 확인합니다. 값이 잘못되었을 경우 예외 (err)를 표시합니다.
catch 문은 예외 (err)를 잡아서 사용자 정의 오류 메시지를 표시합니다:
<!DOCTYPE html> <html> <body> <p>5와 10 사이의 숫자를 입력하세요:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">테스트 입력</button> <p id="message"></p> <script> function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "is Empty"; if(isNaN(x)) throw "not a number"; if(x > 10) throw "too high"; if(x < 5) throw "too low"; } catch(err) { message.innerHTML = "Input " + err; } } </script> </body> </html>
예제
finally 문은 try와 catch 뒤에 무관하게 코드를 실행시키는 것을 허용합니다:
function myFunction() var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "Empty"; if(isNaN(x)) throw "Not a number"; if(x > 10) throw "Too high"; if(x < 5) throw "Too low"; } catch(err) { message.innerHTML = "오류: " + err + "."; } finally { document.getElementById("demo").value = ""; } }
브라우저가 지원
문장 | 크롬 | IE | 파이어폭스 | 사파리 | 오퍼라 |
---|---|---|---|---|---|
try/catch/finally | 지원 | 지원 | 지원 | 지원 | 지원 |
- 이전 페이지 throw
- 다음 페이지 var
- 上一层으로 돌아가기 JavaScript 문 참조 매뉴얼