Lesson 9. 예외처리.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
제 3 장 반복문, 배열, 예외처리 1 명품 JAVA Programming. for( 초기문 ; 조건식 ; 반 복후작업 ) {.. 작업문.. }  for 키 워드    for 문의 구성 초기문 조건 식 작업문 반복 후작업 true false for 문이 실행한.
명품 JAVA Programming 제 3 장 반복문, 배열, 예외처리.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
10. 예외 처리.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
IntArray[0] int length 5 intArray 객체 제 3 장 반복문, 배열, 예외처리.
명품 JAVA Essential.
Java Seminar 6.
어서와 Java는 처음이지! 제14장 오류처리하기.
제 4장 문 장 배정문 혼합문 제어문 표준 입출력.
제2장 자바 언어 기초.
제 12장 예외 처리 12.1 설계 쟁점 12.2 PL/I의 ON-조건 12.3 Ada의 예외 처리
제6장 제어(Control) 6.1 구조적 프로그래밍(Structured Programming)
10장 예외 Lab 10-1.
Chapter 11 – 예외 처리 Outline 11.1 설계 쟁점 11.2 Pl/I의 예외 처리 11.3 Ada의 예외 처리
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
컴퓨터공학실습(I) 3주 인공지능연구실.
[INA470] Java Programming Youn-Hee Han
직렬화와 역직렬화에 대하여 직렬화 가능 클래스의 선언 방법
제7장 제어구조 I – 식과 문장.
음악 재생 프로그램 예외 처리 방법 try/catch 블록 예외 선언 방법
[ 단원 08 ] 예외처리와 스레드.
8장 자바 입출력.
Lesson 3. 입출력과 제어문.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
Power Java 제15장 예외 처리 (Exception Handling).
Lesson 5. 레퍼런스 데이터형.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 6. 형변환.
명품 JAVA Programming.
명품 Java Programming.
Chap07 예외 처리 7.1 예외의 개요 7.2 예외 관련 클래스 7.3 예외 처리.
Hadoop 김연왕
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
주소록 프로그램.
Lesson 7. 클래스와 메소드 - 1.
14. 예외처리.
25강 예외처리 - 예외란? - 예외처리의 필요성 - 예외처리 문법 (try ~ catch) - 예외처리 문법 (throws)
자바 5.0 프로그래밍.
10장. 예외처리.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
예외 처리 및 스레드 클래스 활용 학습목표 오류 발생 시 무조건 정지하지 않고 경우에 따라서 예외 처리하여 정상 작동을 하는 경우의 Exception 클래스에 대해서 학습한다. 멀티미디어 파일에서 동시에 다운로드 받는 효과를 갖을 수 있는 스레드(Thread) 클래스에.
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
제14장 예외처리와 템플릿 예외 처리의 개요를 학습한다. 예외 처리를 적용할 수 있다. 템플릿의 개념을 이해한다.
7장 인터페이스와 추상 클래스.
Java 9장. 인터페이스와 예외처리 public class SumTest {
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
Lesson 4. 수식과 연산자.
Lesson 2. 기본 데이터형.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
컴퓨터공학실습(I) 3주 인공지능연구실.
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
자바 5.0 프로그래밍.
C++ Espresso 제11장 예외 처리와 형변환.
JA A V W. 06.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
[ 단원 04 ] 반복과 배열.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
C# 10장. 참조형.
Java 5장. 객체지향 개념 public class SumTest {
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 남궁성 강의
Presentation transcript:

Lesson 9. 예외처리

예외란? 컴파일(문법) 에러 런타임(실행) 에러 런타임 에러 이유 해결 방법 논리 에러 잘못된 알고리즘이나 프로그램 설계 int x // 세미콜론(;)을 빠뜨린 경우 int sum=0; for(x=0;x<10;x++) // 중괄호({)를 빠뜨린 경우 sum+=i; // 선언하지 않은 변수 i를 사용한 경우 } 런타임(실행) 에러 런타임 에러 이유 해결 방법 논리 에러 잘못된 알고리즘이나 프로그램 설계 프로그램 재작성 시스템 에러 하드웨어나 운영체제 문제 시스템 관리자가 예방 예외 (Exception) 프로그래머의 부주의 프로그램 사용상의 실수 예외 처리

자주 발생하는 예외(Exception) 예외 설명 1 : public class ArrayException1 2 : { 3 : public static void main(String[] args) 4 : { 5 : int[] myInt= new int[10]; 6 : 7 : for(int i=1; i<=10; i++){ 8 : System.out.println("i = "+ i); 9 : myInt[i]= i; 10 : } 11 : } 12 : } ArrayIndexOutOfBoundsException 발생 예외 설명 ArithmeticException 0으로 나누려고 할 때 NullPointException 객체를 생성하기 전에 사용하려고 할 때 NegativeArraySizeException 배열의 크기를 음수로 줄 때 ArrayIndexOutOfBoundsException 첨자가 배열의 크기 범위를 벗어날 때 SecurityException 애플릿이 보안을 위반했을 때

예외의 종류

try와 catch try{ // 예외가 예상되는 부분 }catch(Exception형1 e){

try-catch 예제 1 : public class ArrayException2 2 : { 3 : public static void main(String[] args) 4 : { 5 : int[] myInt= new int[10]; 6 : 7 : for(int i=1; i<=10; i++){ 8 : System.out.println("i = "+ i); 9 : 10 : try{ 11 : myInt[i]= i; // 예외가 발생할 가능성이 있는 위치 12 : }catch(ArrayIndexOutOfBoundsException e){ 13 : System.out.println("배열의 첨자를 다시 설정합니다."); 14 : i= -1; // -1로 재설정 15 : } 16 : } 17 : } 18 : }

finally try{ // 예외가 예상되는 부분 }catch(Exception형 e){ // 무조건 실행하고 싶은 부분 } try{ while(i<a.length) // 배열의 원소수만큼 반복 { System.out.print(" "+ a[i]); // 배열의 원소 출력 i++; } }finally{ // 반드시 실행되는 부분 System.out.println(" [배열끝]");

throw와 throws 1 : public class ThrowException 2 : { 3 : public static void main(String[] args) throws ArithmeticException // 예외 발생 선언 4 : { 5 : int x, y, z; 6 : x= 4; 7 : y= z= 0; 8 : 9 : try{ 10 : z= x/y; // 0으로 나누면 예외 발생 11 : }catch(ArithmeticException e){ 12 : throw(e); // 예외 발생 13 : } 14 : } 15 : }

예외 만들기 Exception 클래스를 상속하여 정의 throw로 예외 발생 try-catch에서 예외처리 public class MyException extends Exception // 직접 정의한 예외 { // ... } throw로 예외 발생 MyException e= new MyException(); throw e; try-catch에서 예외처리 try{ // 예외가 예상되는 부분 }catch(MyException e){ // 예외처리

예외처리 연습* 교재 290p. ~ 292p. MyException.java MyOtherException.java MySubException.java MyExceptionTest.java 인수 실행 방법 java MyExceptionTest one java MyExceptionTest one java MyExceptionTest 0 1 java MyExceptionTest 1 99 java MyExceptionTest 99 2 java MyExceptionTest 2 3 java MyExceptionTest 3