라벨이 try ~ catch인 게시물 표시

[Java] 예외처리(try~catch, throws, throw)

JAVA 예외처리 예외처리  목적 : 프로그램의 비정상 종료를 방지하고 정상상태를 유지할 수 있게 만든다. (견고한 프로그램)  정의 : 사전에 예상되는 에러를 대비하는 코드를 만든다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ ##예외처리(예외복구) try ~ catch 절 기본적인 예외처리 try ~ catch 사용방법 try { //예외의 발생이 예상되는 로직(코드) } catch (Exception e) { //인자로 예외클래스 인스턴스 즉 에러상황을 담고있는 객체를 전달 //에러 처리 //예외가 발생했을 때 실행되는 로직 } finally { //필수는 아니며 필요시에만 선언                //정상처리하던 에러처리하던 무조건 실행해야되는것                //예외여부와 관계없이 실행되는 로직 } ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 에러처리(확인)방법 e.getMessage() // 간단하게 에러 확인 e.toString() // 조금더 자세하게 에러확인 e.printStackTrace() // 아주 자세하게 에러확인 (몇번째줄에서 에러발생했는지 확인) ex) 10을 0으로 나누어서 에러가 발생했을때 e.getMessage() //  / by zero e.toString() //  java.lang.ArithmeticException : / by zero e.printStackTrace() //  java.lang.ArithmeticException : / by zero                                          at Access.divide( Access.java:16 )                                          at Access.main( Access.java:31 ) * try에서 에러가 발생하여 catch절로 이동하여

[JavaScript] try/catch/finally + throw (에러 핸들링)

이미지
일반적으로 에러가 발생하면 스크립트가 제대로 동작하지 못하게 된다. 이러한 에러를 사람이 완벽하게 예측하여 처리할 수 없기 때문에 try ~ catch 문법을 사용하면 예상치 못한 에러에대하여 대응을 할 수 있다. try ~ catch 문법은 try 와 catch 라는 필수적인 두개의 블록이 존재하며  상황에따라 추가하여 사용할 수 있는 finally 도 존재한다. try { // 수행할 코드 } catch ( error ) { // 에러 핸들링 } try 블럭 내부에 수행할 코드를 작성하고 해당코드가 정상적으로 실행되면 catch 블럭을 건너뛰고 다음 코드를 이어 실행한다. 반면에 try 블럭 내부에 수행할 코드에 에러가 발생하면 try 블럭 내부의 코드 실행이 중단되고 catch 블럭으로 에러에 대한 객체가 인자로 넘어가면서 catch 블럭안에서 에러를 처리할 수 있다. 매개변수 error로 전달되는 에러 객체에는 무슨 문제가 발생했는지에 대한 설명이 담겨있다. 인자로 전달된 error 객체에는 name, message, stack 프로퍼티가 존재한다. 각각의 프로퍼티를 알아보면 error.name : 에러 명칭 error.message : 에러에대한 상세 내용을 담고있는 메세지이다. error.stack : 에러가 발생한 순간의 스택 (디버깅시 사용) try ~ catch 문법은 런타임 환경에서 실행되며 런타임 환경에서 발생하는 Error를 런타임 에러(runtime error) 또는 예외(Exception)라고 부른다. 에러 던지기 throw try ~ catch를 사용하여 예외( Exception )를 잡아낼 수 있지만 에러 종류와 관계없이 동일한 방식으로 에러를 처리해 주기 때문에 디버깅을 어렵게 만든다. 그러므로 추가적인 자세한 정보를 담은 에러를 만들어야 한다, 사용방식은 아래와 같다. throw 'errrorrr' ; // 던지는 것에 타입 제한은 없으나 throw new Error ( 'throw erro