예외처리

bird.j·2021년 4월 1일
0

java

목록 보기
8/10

💡 예외와 예외처리


  • 예외: 프로그램에 문제가 있는 것. 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류

    cf) 에러 : 컴퓨터 하드웨어의 오작동 또는 고장으로 인해 응용프로그램에 이상이 생겼거나 JVM실행에 문제가 생겼을 경우 발생하는 것.

    • 예외는 대처할 수 있지만 에러는 대처 힘듦.
  • 예외처리 : 예외로 인해 시스템 동작이 멈추는 것을 막는 것



💡 예외의 종류


NullPointerException,ArrayIndexOutOfBoundException, ArithmeticException 등.

특히 NullPointerException은 자바 프로그램에서 가장 빈번하게 발생하는 에러이다.
이 에러는 객체가 없는, null값을 갖는 객체를 참조하려고 하니 예외가 발생한다.



💡 예외 발생시키기


throw new exception으로 예외를 강제로 발생시킨다.

  • try문에서 throw new Exception()으로 예외를 강제로 발생시키고, catch(Exception e)문에서 예외 발생 시 처리할 코드를 적는다.

이를 하면 예외 발생 시 예외 처리를 직접 하지 않고 호출한 곳으로 넘긴다.(Exception e)



💡 예외처리 방법


🎈 try, catch

try에는 예외가 발생할 수 있는 코드를 작성하고,
catch를 통해 예외가 발생하였을 때 수행할 코드를 작성한다.

try {
예외가 발생할 수 있는 코드
} catch(Exception e){
예외가 발생했을 때 처리할 코드
}

추가로 여기에 finally까지 붙이면 예외 발생 여부에 상관없이 언제나 실행되는 부분이다.

try catch문은 주로 데이터베이스에 데이터를 주고받을 경우 많이 사용한다. 데이터베이스를 거쳐올 때 변수가 많이 생기기 때문이다.

🎈 throws

어떤 메소드의 내부 소스코드에서 에러가 발생하였을 때 예외처리를 try, catch로 자기 자신이 하는 것이 아니라 이 메소드를 사용하는 곳으로 책임을 전가.

public 반환값 메서드이름 throws Exception{
	if(){
    	   throw new Exception();
        }
}

위와 같은 코드에서는 throws구문 때문에 예외를 처리해야하는 대상이 해당 메서드에서 main메서드(해당 메서드를 호출하는 메서드)로 변경되었다. 따라서 main메서드에서는 try catch로 예외처리를 해주어야한다.





보통 예외처리를 어떻게 하고 있는 지를 보면 그 프로그래머의 실력을 어느 정도 가늠해 볼 수 있다고 한다. 이렇듯 예외처리는 정말 중요한 것 같다.

0개의 댓글