10. 예외 처리.

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

명품 JAVA Programming 제 3 장 반복문, 배열, 예외처리.
어서와 Java는 처음이지! 제3장선택과 반복.
11장. 프로토콜 핸들러 AI &HC I LAB 김 성 현.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
IntArray[0] int length 5 intArray 객체 제 3 장 반복문, 배열, 예외처리.
7장 배열 ②.
Java Seminar 6.
제14장 원격 메소드 호출 김 기 환. 조 명 휘.
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
어서와 Java는 처음이지! 제14장 오류처리하기.
제 4장 문 장 배정문 혼합문 제어문 표준 입출력.
Chapter 10 – 추상 자료형 Outline 10.1 소개 10.2 Ada의 추상 자료형 10.3 C++의 추상 자료형
제 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의 예외 처리
10장 예외 처리 프로그래밍 언어론 10.6 Pascal과 C의 에러 처리 10.1 설계 주제 10.2 PL/I의 예외 처리
5 익셉션 처리.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
[INA470] Java Programming Youn-Hee Han
직렬화와 역직렬화에 대하여 직렬화 가능 클래스의 선언 방법
제7장 제어구조 I – 식과 문장.
음악 재생 프로그램 예외 처리 방법 try/catch 블록 예외 선언 방법
[ 단원 08 ] 예외처리와 스레드.
명품 JAVA Essential.
명품 JAVA Programming.
Java RMI (Remote Method Invocation)
10장 객체-지향 프로그래밍 II ©창병모.
8장 자바 입출력.
Lesson 3. 입출력과 제어문.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
7 스택.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
Power Java 제15장 예외 처리 (Exception Handling).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
Lesson 9. 예외처리.
명품 Java Programming.
최용술 장 Thread 최용술
Chap07 예외 처리 7.1 예외의 개요 7.2 예외 관련 클래스 7.3 예외 처리.
10장 다중 스레드 10.1 스레드 개요 10.2 Thread 클래스 10.3 스레드 생성
Hadoop 김연왕
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
주소록 프로그램.
Network Programming(1)
상속과 인터페이스 클래스의 상속에 대하여 인터페이스에 대하여.
자바 5.0 프로그래밍.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
12 검색.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제14장 예외처리와 템플릿 예외 처리의 개요를 학습한다. 예외 처리를 적용할 수 있다. 템플릿의 개념을 이해한다.
7장 인터페이스와 추상 클래스.
Java 9장. 인터페이스와 예외처리 public class SumTest {
어서와 Java는 처음이지! 제4장 배열 IT응용시스템공학과 김형진 교수.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
컴퓨터공학실습(I) 3주 인공지능연구실.
자바 5.0 프로그래밍.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
C# 10장. 참조형.
6장 클래스(상속).
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

10. 예외 처리

예외 처리 프로그램이 실행하는 동안 발생될 수 있는 비정상적인 조건(exception) 예외 처리시 프로그램의 비정상적 종료 오류 메시지 출력 예외처리기 사용: 프로그램의 신뢰성 제공.

[예제 1.59] 0으로 나누는 예외 발생         class Uncaught    {                 public static void main(String[] args) {                         int a = 0, b; b = 100 / a;  System.out.println(“Is this printed? ");                 }         } [실행결과]   java.lang.ArithmeticException: / by zero at Uncaught.main(Uncaught.java:4)

[예제 1.60] try-catch의 의미 이해         class Caught    {                 public static void main(String[] args) {                         int a = 0, b;                         try { b = 100 / a; System.out.println(“Is this printed?”); } catch (ArithmeticException e) { b = 1; System.out.println(“Division by 0: I will set the b by 1”);   } System.out.println (“This will be printed”); } [실행 결과] Division by 0: I will set the b by 1 This will be printed

[예제 1.60] try-catch-finally 구문 사용 예        class ExceptionExm    { static int count = 0;                 public static void main(String[] args) {                         int result; while(true) {                         try { result = 3/count++; if (count == 3) break; System.out.println(count + “) No Exception”); } catch (ArithmeticException e) { System.out.println(count + “) Error: 0으로 나누기 에러”);   } finally { System.out.println (count + “) finally bolck Executed”); } } // end of while } // end of main } end of class [실행 결과] 1) Error: 0으로 나누기 에러 1) finally block Executed 2) No Exception 2) finally block Executed 3) finally block Executed

[예제 1.62] 예외로 인하여 번역시 에러가 발생하는 예         class Checked    {                 public static void main(String[] args) {                         int a; a = System.in.read() – ‘0’; System.out.println(a); } [예제 1.63] 예제 1.62를 올바로 수정한 예 class Checked2    {                 public static void main(String[] args) throws java.io.IOException {                         int a;

[예제 1.64] 예제 1.62를 올바로 수정한 예(2)         import java.io.*; class Checked    {                 public static void main(String[] args) throws IOExecption {                         int a; a = System.in.read() – ‘0’; System.out.println(a); }

11. 인터페이스

public static final int DEFAULT = 100;         interface Stack1    {                  int DEFAULT = 100; void push(int value); int pop(); } public static final int DEFAULT = 100;                       [예제 1.65] 인터페이스 구현의 예 class ImpStack1 implements Stack1    {                 int stk[]; int top; ImpStack1() { stk = new int[DEFAULT]; top = 0; }                        

public void push(int k) { if ( top == stk.length)         ImpStack1(int size)    {                         stk = new int[size]; top = 0; } public void push(int k) { if ( top == stk.length) System.out.println(“Stack full”); else stk[top++]=k; public int pop() { if (top <= 0 ) { System.out.println(“Stack empty”); return –1; return stk[--top];

public static void main(String[] args) { int x; [예제 1.66] 인터페이스를 구현한 클래스를 활용하는 예 class UseStack1    { public static void main(String[] args) {                 int x; ImpStack1 obj = new ImpStack1(); obj.push(5); x = obj.pop(); System.out.println(“x = “ + x); } [예제 1.67] 인터페이스와 추상 클래스의 활용 interface Stack1   { int DEFAULT = 100; void push(int value); int pop(); }         

public void push(int k) { if (top == stk.length)         abstract class Partial implements Stack1    {                        int stk[]; int top; public void push(int k) { if (top == stk.length) System.out.println(“Stack full”); else stk[top++] = k; } class ImpStack2 extends Partial { ImpStack2() { stk = new int[DEFAULT]; top = 0; ImpStack2(int size) { stk = new int[size];

System.out.println(“Stack empty”); return –1; else return stk[--top];         public int pop()    { if (top <= 0) System.out.println(“Stack empty”); return –1; else return stk[--top]; } class UseStack2 { public static void main(String[] args) { int x; ImpStack2 obj = new ImpStack2(50); obj.push(5); x = obj.pop(); System.out.println(“x = “ + x );