# finally
예외처리
오늘은 예외처리에 관해서 알아보겠습니다. > 예외 처리 또는 오류 처리는 일반적인 실행의 흐름을 바꾸는 몇 가지 조건을 처리하도록 설계한 프로그래밍 언어의 개념이나 컴퓨터 하드웨어 구조를 말한다. 일반적으로 프로그램이 처리되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것을 예외 처리라고 한다. 한마디로 동작중 오류가 발생했을때 원하는 방식으로 동작하게끔 코드를 작성하는것을 예외처리라 할수있습니다. 오늘은 JS에서 try & catch & finally 를 사용해서 예외처리 해보겠습니다. 두개의 인자를 받아서 해당 인자가 정수일 경우 더한값을 리턴해주는 함수에 예외처리를 해보겠습니다 예외를 발생시키기 위해서 throw 문을 사용 > throw는 임의적으로 예외를 발생 시킬 수 있습니다. return과 같이 코드가 실행되면 다음 코드가 실행 되지 않고 에러를 반환합니다. try 영역엔 일반적으로 진행되는 코드영역이고 catc

[DS19] Studynote Day 10
💡공부한 내용 예외처리 상세 try ~ except ~ else finally Exception 클래스 📝 오늘의 하이라이트 💡 복습을 위해 예제 코드는 가급적 강의에서 들은 내용이 아닌 직접 만들어서 작성 try ~ except ~ else: 이 구문은 예외가 발생할 가능성이 있는 코드를 실행하고, 예외가 발생하면 except 블록에서 처리하며, 예외가 발생하지 않으면 else 블록을 실행한다. finally: 예외 발생 여부와 관계 없이 항상 실행되어야 할 코드를 담는다. 주로 리소스의 정리에 사용된다. Exception 클래스: 파이썬에서 모든 예외의 기본 클래스이며, 사용자 정의 예외를 만들 때 이 클래스를 상속받을 수 있다. ✍️ 오늘의 혼잣말

[PL] Ch14. Exception Handling and Event Handling
14.1 Introduction to Exception Handling 14.2 Exception Handling in C++ 14.3 Exception Handling in Java  는 무슨 일이
[javascript]자바스크립트에서 finally
try나 catch문에서 return을 하거나, catch에서 throw를 해도 finally는 무조건 실행이되는 건가 궁금해서 검색을 해보았다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/try...catch https://webclub.tistory.com/71 검색해보니 finally는 이런 경우에도 항상 실행된다고 한다. 그래서 테스트 해보았다. throw한 경우 test라는 함수에서 try에서 무조건 에러를 throw하고 이걸 다시 catch에서 throw한다. 여기서 만약에 바로 밖으로 빠져 나간다면 finally 안의 "finally!!!"는 출력되지 않을 것이다. 결과는 위와 같이 finally!!!도 출력이 되었다. 그리고 try나 catch에서 발생한 에러가 있더라도 finally에서 새로운 에러가 발생하면 이걸로 덮어 씌워진다고 한다. 이렇게 했을 때

JAVA annotation, exception(try/catch/finally) (230628)
1.@Override 에 대하여 설명하시오. > - @는 어노테이션으로 일종의 메소드의 기능을 하는 메타정보라고 보면 된다. 여기서 @Override 어노테이션은 상속받아 만든 override한 메소드인지 확인을 하며 만약 아니라면 컴파일 에러를 띄운다. 2. 아래를 프로그래밍 하시오. 문제 > 결과 > 코드 > 실행결과 > 3. try catch finally 에 대하여 설명하시오. > - 런타임 에러가 발생했을 시 예외처리를 하기 위해 사용하는 문법. > 보통 > > > > > 이런 문법으로 나타내며 finally는 생략해도 무방하다.

[elice] async / await
🐰 타이머 함수 호출 스케줄링(scheduling a call) 은 타이머 함수를 사용해 일정 시간이 경과된 이후에 호출되도록 함수 호출을 예약하는 것을 의미한다. 자바스크립트에서는 타이머 생성 함수로서 setTimeout, setInterval을 제공하며 타이머를 제거할 수 있는 clearTimeout과 clearInterval을 제공한다. 타이머 함수는 ECMAScript 정의 함수는 아니며, 브라우저 및 Node.js 환경에서 제공되는 호스트 객체다. setTimeout / clearTimeout setTimeout은 두 번째 인수로 전달받은 시간(delay)으로 단 한번 동작하는 타이머를 생성하며, 타이머 만료 후 첫 번째 인수로 전달받은 콜백 함수를 호출한다. 콜백 함수에 전달해야 하는 인수가 존재하는 경우 세번째 이후 인수로 전달할 수 있다. delay는 생략시 기본값 0이 지정된다. setTimeout은 타이머를 식별할 수 있는 타이머

[elice] 프로미스(Promise)
🐰 프로미스 프로미스(Promise) 는 콜백 패턴의 단점을 개선하기 위해 ES6에 도입되었다. 프로미스는 Promise 생성자 함수를 new 연산자와 함께 호출하여 객체를 생성한다. Promise 생성자 함수는 비동기 처리를 수행할 콜백 함수를 인수로 전달 받으며, 이 콜백 함수는 resolve, reject 함수를 인수로 전달받는다. 🐰 프로미스- 상태 ⭐ Promise는 비동기 처리의 진행 상태(State)를 나타내는 정보를 갖는다. **• pending (비동기 처리가 아직 수행되지 않은 상태) • fulfilled (비동기 처리가 수행되어 성공한 상태) • rejected (비동기 처리가 수행되어 실패한 상태)** 생성된 직후의 프로미스는 pending 상태이며, 비동기 처리 결과에 따라 상태가 변경된다. • 비동기 처리 성공 : resolve 함수를 호출해 fulfilled 상태로 변경 • 비동기 처리 **실패 : reject 함
[Dart] Exception 처리하기
Exception이란? Exception은 번역하면 예외라는 뜻이 되는데, Dart에서는 이 예외 처리를 위한 다양한 기능을 제공해줍니다. 예외는 프로그램 실행 중에 발생하는 예기치 않은 상황을 나타내며, 프로그램의 흐름을 중단하고 오류를 처리하는데 사용됩니다. 보통 예외가 발생하는 상황은 두 가지로 나눌 수 있습니다. 인간의 실수에 의한 상황(Human error)과 컴퓨터의 내부적인 문제로 인한 상황(Computer error)입니다. Human error 사용자 입력 오류 사용자가 잘못된 형식의 입력을 제공하는 경우, 예외 처리를 통해 그에 대한 대응을 할 수 있습니다. 예를 들어, 사용자로부터 숫자를 입력받아 계산하는 프로그램에서, 사용자가 문자열을 입력하는 경우 예외를 발생시킬 수 있습니다. 파일 누락 파일을 읽거나 쓸 때, 파일이 존재하지 않는 경우 예외 처리를 통해 파일 누락 상황을 처리할 수 있습니다. 네트워크 오류 네

<Ch.3> 파이썬 중급 cont.
[Py.7] 예외 처리 예상하지 못한 예외가 프로그램 전체 실행에 영향이 없도록 처리함 예외 발생 예상 구문을 try ~ except로 감싼다
0415 파이썬 중급 5일차(~33)
try~except~else 예외가 발생하지 않은 경우 실행하는 구문 예외가 발생하지 않은 경우 else에 적는다. 숫자가 아닌건 try~except로 '예외발생' , continue로 다시 올림 숫자면 else로 짝,홀수 판단으로 넘긴다. > finally 예외발생과 상관없이 실행 (ex. 외부자원 사용 시, 예외 발생과 상관없이 자원 해제를 해야 할 때가 있음. 그럴때 마지막으로 작성) 
파이썬 중급 7_예외 처리, try~except~else, finally, exception, raise 키워드
29_예외처리 - try~except 문제 발생한 곳은 건너뛰고 다음 단계부터 실행 실습 
데이터 입력 후 DB에서 확인, Oracle 연동, try-catch문에 finally 추가
하단에 response.sendRedirect("insertForm.jsp");를 추가하면 이미지로 확인되는 insertPro.jsp 페이지는 나오지 않고 바로 insertForm으로 이동된다. executeUpdate는 int타입의 값을 반환하기 때문에 int resultNum 변수를 생성하여 console창으로 정상작동하는지 확인할 수 있다. 
[💻 코드스테이츠 FE 44기] Promise, 모듈
✔️ 시작 이번 시간에는 비동기에 사용하는 promise에 대해 배웠다. 점점 이론이 깊어져 간다.. 📍배운 것 ✔️ Promise 값이 반환된 경우 비동기일 가능성이 높다. 리턴된 경우 .then, .catch 메서드를 사용할 수 있다. callback 방식의 한계가 있어 생기게 되었다. .then 결과가 성공했을 때 then으로 전달된 콜백함수가 호출된다. > 콜백 함수에 결과 값이 있을 경우 첫번째 파라미터로 반을 수 있다. .catch 결과가 실패했을 때 catch로 전달된 콜백함수가 실행된다. > 콜백함수는 파라미터로 전달되고 그 이후를 알려준다. promise chaning promise로 리턴되기 때문에 이후 작성되는 코드에 선언할 필요가 없다. ✔️ Promise 사용하는 이유 비동기적인 작업을 처리할 경우 그 작업이 성공/실패 했는지

7일차 스터디 노트
클래스 상속 상속하는 방법 =>class Name(reName) =>Name 이라는 클래스에 reName이라는 클래스를 상속한다. =>Name 이라는 클래스에서 reName 클래스에 있는 기능을 사용할 수 있다. super() 상위클래스의 속성을 초기화(실행)하기위해 사용한다. 이 경우 코드를 실행시키면, PClass에 있는 내용을 실행시킬 수 없다. def init(self)라는 함수가 CClass를 실행시키며, 상위 P_Class를 실행시키지 않기 때문이다. 이 때, P_Class 또한 실행시키기

Exception Part. 01
개체 지향을 얘기하면 꼭 나오는 단어인 예외에 대해서 알아본다. Exception 사실 예외는 개체지향의 일부가 아니다. 시기적으로 비슷한 때 나왔고, 소수 진영에서 예외가 개체지향의 유일한 거라는 식으로 말하여 합쳐서 생각하게 됨 try/catch/finally catch와 예외 클래스(java) 특정 예외를 캐치할 수 있음 IOException: 입출력 관련 클래스들의 부모 클래스 EOFException, FileNotFoundException 등 ArithmeticException: 산술과 관련된 예외 (0나누기) IndexOutOfBoundsException 특정하기 어렵다면 Exception클래스를 사용하면 다잡는다. 이렇게 동작하기 때문에, 부모 예외 클래스가 자식보다 먼저나오면 안된다. catch에서 순차적으로 처리하기 때문에 위에서 다 막혀버린다. fina

async-3(promise & handle async with promise)
이제 promise에 대해서 다룰 차례이다. 이전 블로그에서는 사실상 간단하게 배경의 색깔을 바꾸는 작업을해서 엄청 큰 불편함은 못 느끼고 코드가 길어지면 머리가 아프겠구나 하고 callback에 대한 문제점을 지적만 하고 넘어갔다. 하지만, 직접 겪어보는 것도 좋겠다 싶어서 예제를 만들어 시도해 봤다. promise를 배우면서 promise가 실생활에서 자주 쓰이는 예제는 api를 통해 data를 가지고와서 data에 원하는 작업을 하는데 많이 쓰임을 알 수 있다. 이 때, 원하는 작업을 하기 위해서는 data가 확실히 있음을 보장해야한다. 따라서 아래는 가짜 요청을 만드는 예제이다. 🍀 Fake Request with callback 아래 예제의 흐름은 간략히 하면 아래와 같다.
오류 및 예외 처리
들어가면서 어느 언어나 그렇겠지만 파이썬으로 프로그래밍을 하다보면 여러 오류들을 경험하게 된다. 처음에 프로그래밍을 배울때는 간단한 사칙연산 식이나 str을 작성해놓고 실행했을때 오류메세지가 뜨면 당황스러웠는데 이제는 코딩을 실행하였을때 오류는 안뜨고 정답을 출력해주지 않을때 더욱 당황스럽다. 파이썬을 제대로 배우기 시작한지 1달정도 되었는데 이제 어느정도 성장 한 것이겠지... 오늘은 친절하게 고치라고 말해주는 오류들에 대해서 알아보겠다. 오늘도 출처가 되는 내용은 점프 투 파이썬이다. 거의 뭐 회사 직원이다 싶을 정도로 주변에 좋다고 알리는 중인데 전혀 관계없는 사람이다. 하지만 정말 좋은 책이라고 생각하니 혹여라도 파이썬 입문 초보자라면 꼭 이 책을 읽어보길 바란다. 서두가 길었으니 바로 본론으로 넘어간다. 오류의 종류 오류에는 정말 여러가지가 있는데 초보들이 가장 많이 맞닥뜨리는 오류들은 아래와 같다. FileNotFoundError: No such
JAVA_예외처리_finally
finally > finally블럭은 try-catch문과 함께 사용된다. 단, 예외의 발생여부와는 관계없이 실행되어야할 코드를 포함한다. Syntax 예시코드_1 위 코드의 경우 deleteTempFiles()가 여러 번 겹친다. deleteTempFiles()는 예외발생여부에 관계없이 실행되어야하므로 다음과 같이 finally블럭을 사용해준다. 예시코드_2 중복을 제거할 수 있다. 주의 try문에 return문이 실행되어 메서드가 종료되는 경우에도 finally블럭의 문장들이 먼저 실행된 뒤 종료된다. catch문에서 return문을 만나도 마찬가지이다.

JavaScript (18) # Promise
Promise 프로미스를 쉽게 알아보자 상점에서 물건을 주문하는데, 그 물건이 오기까지 시간이 걸린다고 가정을 해보자 또한 언제 물건이 오는지는 알 수 없을 뿐더러 가끔 물건을 만들다가 실패하는 경우도 있다고 한다. 이럴땐 소비자는 어떻게 해야할까? 10초에 한번씩 진행 상황을 물어보고 답을 받는다고 한다면, 물어봤을 때, 준비의 여부와 또는 실패했다는 답이 온다면, 다시 물건을 주문을 하면 된다. 하지만 그것 보다는 이럴땐 상점에 주문을 하고 상품이 준비되었거나 실패하면 알려달라고 약속을 하면서, 전화번호를 주고 나오는것이 나을 것이다. 상품이 준비되는 동안 다른 작업도 할 수 있고, 상점을 이번호를 기억했다고 작업이 완료되거나 실패했을 떄, 소비자에게 알려주면 되니깐 말이다. 이럴때 사용할 수 있는게 바로 프로미스(Promise)이다. 프로미스 사용법 프로미스는 아래와 같이 사용한다. new Promise로 생성하고, 함수를