JavaScript에서 catch가 없는 Try

Shraddha Paghdar 2023년10월12일
JavaScript에서 catch가 없는 Try

오늘의 포스트는 자바스크립트에서 catch를 구현하지 않고 try 문에 대해 가르칠 것입니다.

JavaScript에서 catch가 없는 Try

JavaScript try 블록은 예외를 던질 수 있는 코드를 묶는 데 사용됩니다. 메서드 내에서 사용해야 합니다.

특정 문에서 예외가 발생하면 catch 문에서 잡아야 합니다.

통사론:

try {
  try_statements
  /* Code to executed */
} catch (exception_var) {
  catch_statements
  /* Handle exception */
} finally {
  finally_statements
  /* Final Code/Clean variables */
}
  1. try_statements는 실행할 명령문입니다.
  2. catch_statementstry 블록에서 예외가 발생했을 때 실행되는 명령문입니다.
  3. exception_var는 연관된 catch 블록에 대한 예외 개체를 포함하는 선택적 식별자입니다.
  4. finally_statements는 테스트 명령문이 완료된 후 실행되는 명령문입니다. 이러한 명령문은 예외가 발생하거나 포착되었는지 여부에 관계없이 실행됩니다.

try 문은 하나 이상의 명령문이 포함된 try 블록으로 구성됩니다. {}는 단일 문에 대해서도 항상 사용해야 합니다.

catch 블록 또는 finally 블록이 있어야 합니다. 이것은 try 문에 대해 세 가지 조합을 제공합니다.

  1. try...catch
  2. try...finally
  3. try...catch...finally

catch 블록에는 try 블록 내에서 예외가 발생하므로 동시에 수행할 작업을 지정하는 명령문이 포함됩니다. try 블록 내(또는 try 블록에서 호출된 함수에서) 명령문이 예외를 throw하면 제어가 즉시 catch 블록으로 전환됩니다.

catch 블록은 try 블록에서 예외가 발생하지 않으면 무시/건너뜁니다.

finally 블록은 trycatch 블록의 실행이 완료된 후에 항상 실행됩니다. 예외가 발생하거나 중단되었는지 여부에 관계없이 finally 블록은 일반적으로 내부의 명령문과 함께 실행됩니다.

하나 이상의 테스트 문이 중첩될 수 있습니다. 내부 try 문에 오류를 처리할 catch 블록이 없으면 둘러싸는 try 문의 catch 블록이 대신 사용됩니다.

try 문을 사용하여 JavaScript 예외를 처리할 수도 있습니다. 예외가 발생하면 catch 블록이 예외를 처리하지 않더라도 finally 블록의 명령문이 결국 실행됩니다.

try...catch에 대한 문서에서 try...catch에 대한 자세한 정보를 얻을 수 있습니다.

다음 예를 통해 이해해 봅시다.

try {
  console.log('Executing try block')
  throw new Error(0 / 0)
} finally {
  console.log('Final Call')
}

위의 예에서 catch 없이 try를 정의했습니다. 00으로 나누면 오류가 발생합니다.

finally 블록이 누락된 catch 블록으로 인해 catch하지 않는 NaN 오류가 발생하고 finally 블록 내부에 "Final Call" 문을 인쇄합니다. 또한 이러한 블록을 사용하여 필요한 작업을 수행하고 finally 블록에서 사용하지 않는 변수/리소스를 정리할 수 있습니다.

JavaScript를 지원하는 모든 브라우저에서 위의 코드 조각을 실행해 보십시오. 아래에 결과가 표시됩니다.

Executing try block
Final Call

데모

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn