오류와 예외의 차이점

오류는 실행 중인 코드 또는 프로그램 환경에서 잘못되거나 유효하지 않은 일이 발생할 때 발생합니다. 구문, 논리 또는 런타임 오류일 수 있으며 환경에서 리소스 부족 또는 버전 비호환성 등이 원인일 수 있습니다.
throw 키워드를 사용하여 코드의 특정 조건이 충족되면 프로그래머가 예외를 throw합니다. 그리고 try 및 catch 블록을 사용하여 예외를 잡을 수 있습니다.

오류


  • 잡거나 다루려고 해서는 안 되는 심각한 문제
  • 오류에서 복구할 수 없습니다.
  • 런타임 시 오류가 발생합니다. 이것이 컴파일러에게 알려지지 않은 이유입니다. 따라서 "확인되지 않은 예외"로 분류됩니다.
  • 프로그래머에게 알려지지 않음

  • 예외


  • 프로그래머에게 알려지고 추측할 수 있음
  • 응용 프로그램 자체로 인해 발생함
  • 예외는 "선택됨"또는 "선택 취소됨"일 수 있습니다.
  • try 및 catch 블록은 예외를 처리하고 예외로부터 응용 프로그램을 복구할 수 있습니다.

  • //You can copy and paste the code into your console tab
    //You can throw a string, object or even error
    
    //Throwing string message
    try {
        throw "throwing string"
    } catch (ex) {
        console.log(ex);
    }
    
    //VM54:4 throwing string
    
    //Throwing an error
    try {
        throw new Error("throwing string")
    } catch (ex) {
        console.log(ex);
    }
    
    /*VM158:4 Error: throwing string
        at <anonymous>:2:11
    */
    
    //As of Echma 2022 we can use the cause with error
    try {
        throw new Error("throwing string", {cause: "Just like that"})
    } catch (ex) {
        console.log(ex, ex.cause);
    }
    
    /*VM342:4 Error: throwing string
        at <anonymous>:2:11 'Just like that'
    */
    
    //throwing object
    try {
        throw {msg: "Condition met"}
    } catch (ex) {
        console.log(ex);
    }
    
    //VM517:4 {msg: 'Condition met'}
    
    //Of course we can use finally too
    
    try {
        throw "With finally"
    } catch (ex) {
        console.log(ex);
    } finally {
        console.log("I'm going to run no matter what!")
    }
    
    /*VM5528:4 With finally
    VM5528:6 I'm going to run no matter what!*/
    


    더 논의하고 싶거나 내가 놓친 것이 있으면 의견을 말하십시오.

    읽어 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기