제가 파이썬으로 할때는 특정 예외처리를 할때 있어서
해당 에러를 처리했었거든요.
예를들어서
>
try:
myElem = WebDriverWait(browser, delay)
.until(EC.presence_of_element_located((By.ID, 'IdOfMyElement')))
print "Page is ready!"
except TimeoutException:
print "Loading took too much time!"
이런식으로 일정시간이 지났을때 발생하는 시간관련 에러만 처리할수 있도록 한다던가
아니면 해당 태그가 없을떄 발생하는 에러등 다양하게 에러를 처리했었는데요.
>
>try {
블라블라
} catch (err) {
console.log(err);
}
여기서 err 부분에 사용할수있는 예외처리? 같은게 있는지 알고싶습니다
제 생각에 try 안에 어떤 로직이 들어가고, 어떤 에러를 어떻게 핸들링 하고싶냐에 따라 너무 다를거 같은데요.. api 콜이면 code에 따라서 다르게 한다던지.. aws 라이브러리면 error.name 따라서 다르게 한다던지.. 일단 원하는 에러를 throw하고 그 안에 뭐있나 보는게 제일 빨라요.
답변 감사합니다. 원하는 에러 throw 라는 말씀은 에러날거같은 조건을 직접 설정해서 발생시키는거 말씀하시는거죠?
네, 보통 저는 다른 라이브러리 사용하면 자주 튀어나올만한 에러들은 한번씩 다 해봐요. 안에 뭐있고, 이름은 뭐고, 메세지는 뭐 들어가 있는지. 아니면 직접 만들 때도 있어요 여기 보시면 Error extend해서 커스텀으로 만드는 방법 나와요 https://ja-vascript.info/custom-errors
자바스크립트는 다른 언어와 달리 특정 에러만 캐치하는 방법이 없어서 저는 일단 캐치하고 error object면 가지고 있는 name property로 구분하고 있습니다. 함수를 이용하여 custom 에러를 만드는 방법도 있으니 아래의 링크를 참고해 보세요 https://stackoverflow.com/questions/1433558/handling-specific-errors-in-ja-vascript-think-exceptions
링크에서 자바스크립트가 ja-vascript로 자동으로 분리되니 하이픈(-)하나 지우셔야 해요.