본문 바로가기

예외처리실습4

예외 처리 실습 - (4) 1. SungjukProcessException 클래스를 만들어 Exception 을 extends 한다. 그리고 JumsuOutofValueException 클래스를 만들어 SungjukProcessException 을 extends 한다. StudentVO 클래스에서 예외를 발생시킬 국어의 setKor() 메소드에서 예외를 throws JumsuOutofValueException로 던져서 예외 처리를 하게 만든다. 메인 클래스를 하나 만들고 객체를 생성한 다음에 국어점수를 수정처리 하는 와중에 값을 잘못 넣고 예외처리를 JumsuOutofValueException에 던져서 '점수 범위 (0~100)를 벗어난 값입니다.' 를 출력하게 만들고 다시 원래의 값을 출력하며 메인을 종료된다. 2021. 8. 15.
예외 처리 실습 -(3) 1. 예외 만들기 Exception 클래스를 상속받아서 예외를 만들기. main()이 시작되었다는게 제일 먼저 처리가 되고 그 다음 firstMethod()로 넘어간다. firstMethod() 에서 throws 선언을 통해서 예외처리한다. firstMethod () 시작이 출력이 되고 secondMethod()으로 넘어가서throw new MyException("secondMethod() 에서 예외발생 ")이 되었다는 예외가 뜬다. 예외가 일부러 발생되었기 때문에 secondMethod() 종료문이 출력되지 않고, firstMethod () 종료문도 출력되지 않고 main() 끝이 출력되고 종료된다. 2021. 8. 15.
예외 처리 실습 -(2) 1. Finally Finally 블럭은 예외의 발생여부와 상관없이 실행되어야할 코드를 포함시킬 목적으로 사용한다. try~catch~finally의 순서로 구성된다. 예외가 생기면 try~catch~finally 순으로 실행되지만, 예외가 발생하지 않는 경우에는 try~finally 순으로 실행된다. finally는 무조건 실행된다고 기억하면 된다. -값을 정상적으로 넣으면 연산처리가 정상실행이라는 출력이 되겠지만, 값을 정상적으로 넣지 않고 num 에다가 0을 넣어서 100/0으로 넣었다. 그래서 연산처리 정상실행이라는 출력이 대신 catcha문 실행으로 빠져나와서 finally문장이 실행 되고 다음문장이 result값이 출력되며 종료된다. 2.Throw Throw는 고의적으로 예외를 발생시킬 때 사.. 2021. 8. 15.
예외 처리 실습 - (1) 1. 예외처리구문 일부러 예외를 발생시켜보자. int num1에는 값이 50이 있는데 0이랑 같을 리가 없다. 0이 값과 같다면 그게 예외가 발생하는 것이다. 예외가 발생하지 않았으니 else 구문으로 넘어가서 100/50 으로 나누어 result 값이 출력된다. 2. try ~ catch문 예외처리 Exception(최고 조상) 을 먼저 쓰면 Arithmeticexception(정수를 0으로 나누려고 하는 경우)과 RuntimeException(사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외)을 쓸 필요가 없다. Exception을 먼저 쓰면 세세한 예외를 처리할 수 없기에 Arithmeticexception을 먼저 써서 잡아주고 그 다음 RuntimeException을 쓰고 마지막에 Excep.. 2021. 8. 15.