Cluster management software

Similar documents
슬라이드 1

JAVA PROGRAMMING 실습 09. 예외처리

Microsoft PowerPoint - CSharp-10-예외처리

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

C++ Programming

PowerPoint Presentation

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

슬라이드 1

Semantic Consistency in Information Exchange

9장.예외와 단정

12-file.key

PowerPoint Presentation

歯JavaExceptionHandling.PDF

PowerPoint 프레젠테이션

PowerPoint Template

Design Issues

PowerPoint 프레젠테이션

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint 프레젠테이션

No Slide Title

PowerPoint Presentation

제11장 프로세스와 쓰레드

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

윤성우의 열혈 TCP/IP 소켓 프로그래밍

02 C h a p t e r Java

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

rmi_박준용_final.PDF

Network Programming

Microsoft PowerPoint - 04-UDP Programming.ppt

gnu-lee-oop-kor-lec06-3-chap7

4장.문장

Microsoft PowerPoint - 03-TCP Programming.ppt

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

Microsoft PowerPoint - lec11_1516.ppt [호환 모드]

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

JUNIT 실습및발표

Cluster management software

PowerPoint Presentation

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

Cluster management software

자바-11장N'1-502

Java

쉽게 풀어쓴 C 프로그래밍

Cluster management software

쉽게 풀어쓴 C 프로그래밊

PowerPoint 프레젠테이션

Microsoft PowerPoint - RMI.ppt

PowerPoint Presentation

mytalk

PowerPoint Presentation

Java ...

Modern Javascript

PowerPoint Presentation

교육자료

쉽게 풀어쓴 C 프로그래밍

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

JMF2_심빈구.PDF

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

쉽게

PowerPoint Presentation

int total = 0; for( int i=1; i<=5; i++ ) { for( int j=1; j<=i; i++ ) { total ++; System.out.println( total ); 대구분 : 객체와 Class 소구분 : 객체생성과사용 / Class 선언

PowerPoint 프레젠테이션

ch09

PowerPoint Presentation

Microsoft Word - java19-1-midterm-answer.doc

untitled

PowerPoint 프레젠테이션

TEST BANK & SOLUTION

PowerPoint 프레젠테이션

[ 프로젝트이름 ] : Project_Car [ 프로젝트를만든목적 ] : 임의의자동차판매소가있다고가정하고, 고객이원하는자동차의각부분을 Java 를이용하여객 체로생성하고, 그것을제어하는메소드를이용하여자동차객체를생성하는것이목표이다. [ 프로젝트패키지와클래스의내용설명 ] [

신림프로그래머_클린코드.key

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

(Microsoft PowerPoint - Chapter17 RMI.ppt [\310\243\310\257 \270\360\265\345])

05-class.key

PowerPoint 프레젠테이션

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - 2강

제목

A Tour of Java V

비긴쿡-자바 00앞부속

자바 프로그래밍

FileMaker ODBC and JDBC Guide

JAVA PROGRAMMING 실습 07. 상속

10. 예외처리 예외는어떤방법으로든지해결되어야합니다. 직접해결하기위해서는 try~catch 구문을사용할수도있으며 throws 구문을통해예외가발생했을때호출한메서드로예외를넘겨줄수도있습니다. 이장에서는예외의종류와예외처리방법, 사용자정의예외클래스와예외를발생시키는방법들에대해설명

쉽게 풀어쓴 C 프로그래밍

03-JAVA Syntax(2).PDF

PowerPoint Presentation

스레드의우선순위 우선순위설정메소드 : void setpriority(int newpriority) newpriority 에설정할수있는등급 : 1( 가장낮은우선순위 ) 부터 10( 가장높은우선순위 ) 가장높은우선순위 : MAX_PRIORITY, 보통우선순위 : NORM_

Microsoft PowerPoint - java2-lecture2.ppt [호환 모드]

Transcription:

자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민

기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException 예외를던집니다."); throw new NewException(); public static void main(string[] args) { NewException ne = new NewException(); try { System.out.println("methodA() 를실행합니다."); methoda(); System.out.println(" 이문장이평가될까요?"); catch(newexception e) { System.out.println("NewException 예외를받았습니다."); System.out.println("try-catch 문을통과했습니다."); 2

기본예제 NewException Exception 클래스로부터상속 methoda() 는 throw 를통해서예외를던지겠다고출력한다음사용자정의예외인 NewException 를던짐. 예외를던지는문장또는발생시키는문장이포함된메소드에서는반드시예외처리를해주어야함. 이메소드에는 try{ catch{ 문이없기때문에 throws 키워드로예외를던져버림. 만약던지지않으면컴파일에러가발생함. 여기서던진예외는이메소드를호출하는메인메소드의 try{ catch{ 문으로처리하는데, 예외가던져지면예외가던져졌다고출력. 3

기본예제 실행결과 methoda() 문을실행합니다. NewException 예외를던집니다. NewException 예외를받았습니다. try-catch 문을통과했습니다. try 문에서예외를던지는 methoda() 가실행된다음문장은출력되지않음 예외가발생하면 try{ 블록의진행을멈추고 catch 블록으로진행되기때문. 4

기본예제 여러개의예외를던지는메소드 import java.io.*; class Exception0 extends Exception{ String s = "Exception0"; class Exception1 extends Exception0{ String s = "Exception1"; class TestException { static void methoda(int i) throws Exception0, Exception1{ if (i == 0){ throw new Exception0(); else if (i == 1){ throw new Exception1(); static void methodb() throws IOException{ throw new IOException(); 5

기본예제 public static void main(string[] args) { for (int i = 0; i <= 3; i++) { try{ System.out.println("i == " + i); methoda(i); // point x methodb(); catch (Exception1 e1) { System.out.println("catch : " + e1.s); catch (Exception0 e0) { System.out.println("catch : " + e0.s); catch (Exception e) { System.out.println("catch : Exception"); finally { System.out.println("finally"); 6

예제설명 1. methoda() 처럼메소드가던질수있는예외의수에는제한이없고, catch 문을순차적으로배치 예문의 System.out.println(e0.s) 처럼발생한예외객체의멤버들또한자유롭게이용할수있음 2. 다중예외를처리하는구문에서는하위예외객체부터먼저 catch 해주어야함 만약상위예외객체부터 catch 하는구문을만들면컴파일에러가발생함. 하위예외객체부터순차적으로 catch 하도록구문을변경해야함 7

예제설명 catch (Exception0 e0) { // Exception0 가상위예외 System.out.println("catch : " + e0.s); catch (Exception1 e1) { // Exception0 를상속받은예외 System.out.println("catch : " + e1.s); Exception0 -> Exception1 순서변경시에러발생 상위예외객체는하위예외객체도 catch 할수있기때문에, 상위예외객체를상위에선언하면, 아래의하위예외객체를선언하는것이무의미함. TestException.java:34: exception Exception1 has already been caught catch (Exception1 e1) { 8

예제설명 3. 선언한 catch 블록중에발생한에러와일치하는것이없을때, 모든예외클래스의상위클래스 Exception 은어떤예외라도처리 즉, 예제에서 methodb() 가 IOException 을발생시키면마지막 catch 블록이실행 출력결과 i == 0 catch : Exception0 finally i == 1 catch : Exception1 finally i == 2 catch : Exception finally i == 3 catch : Exception finally 9

문제 Which four types of objects can be thrown using the throw statement? (choose four) a) Error b) Event c) Object d) Exception e) Throwable f) RuntimeException 10

문제 import java.io.ioexception; public class ExceptionTest { public static void main(string[] args) { try { methoda(); catch(ioexception io) { System.out.println("caught IOException"); catch(exception e) { System.out.println("caught Exception"); static void methoda() throw new IOException() { what result? a) The code will not compile b) Output is "caught Exception" c) Output is "caught IOException" d) The program execute normally without print a message 11

ExceptionTest.java:14: ';' expected static void methoda() throw new IOException() { ^ ExceptionTest.java:14: missing method body, or declare abstract static void methoda() throw new IOException() { ^ 12

문제 import java.io.*; public class Test { static void method() throws EOFException { throw new EOFException(); public static void main(string args[]) { try { method( ); // point x catch (IOException e) { System.out.println ("IO"); catch (Exception e) { System.out.println("General"); finally { System.out.println ("Finally"); System.out.println ("Busy"); If EOFException is a sub class of IOException, what's the result? 13

문제 If EOFException is a sub class of IOException, what's the result? a) Compile error occur b) An Exception is thrown in // point x c) Finally Buse d) IO Finally Busy e) General Finally Busy 14

finally 사용법 finally 문 예외를처리하던처리하지않던간에무조건실행되는블록을정의 try{ // 예외를던질수있는문장들 catch( 예외참조 ) { // 예외를받고실행될문장들 finally{ // 무조건실행되는문장들 예외의발생여부와관계없이 finally 블록은항상실행. 15

finally 사용법 또한 break, return 등의메소드흐름중지문과만났을때에도 finally 블록은실행 finally 블록이실행되지않는경우는 try 블록이나 catch 블록에서시스템을강제종료 System.exit() 하는경우임. [ 주의 ] return, break 등의존재와무관하게 try 블록이실행되면 finally 블록도무조건실행. [ 주의 ] Finally 블록의내용은예외발생여부와관계없이항상수행 심지어 try 절또는 catch 절에 return 문이있더라도 finally 절의내용이수행된다음 return ( 단, System.exit( ) 문장이있는경우에는 finally 절을수행하지않고종료 ) 16

기본예제 Try 실행 -> catch 실행 -> finally 실행 public class MyExceptionTest { public static void main(string[] args) { NewException ne = new NewException(); try{ System.out.println("try :" + "excute methoda()"); ne.methoda(); catch(newexception e){ System.out.println("catch : caught"); finally{ System.out.println("finally"); System.out.println("out of try-catch"); 17

기본예제 class NewException extends Exception{ void methoda() throws NewException{ System.out.println("methodA() : " + "throw NewException"); throw new NewException(); 18

예제설명 try : excute methoda() methoda() : throw NewException catch : caught finally out of try-catch 19

기본예제 class NewException extends Exception{ void methoda(boolean f) throws NewException{ System.out.println("methodA() 가예외를던질까요?"); if (f == true){ System.out.println("methodA() 가예외를던집니다."); throw new NewException(); public class ExceptionTest { public static void main(string[] args) { NewException ne = new NewException(); try{ ne.methoda(false); System.out.println(" 이문장이실행된다면예외는던져지지않았습니다."); catch(newexception e){ System.out.println("catch : caught"); finally{ System.out.println("finally"); System.out.println("out of try-catch"); 20

예제설명 메소드에서예외가던져지지않았을때 try{ catch{ finally{ 문의실행순서 위의예제에서 methoda() 는 flag 가 true 일때만예외를던짐 false 를넘겨서예외를던지지않자, catch 문은실행되지않음. finally 문은실행되고있는데, 사실 finally 문은 catch 문의실행여부와관계없이프로그램이정상종료한다면어떤경우에도반드시실행됨 methoda() 가예외를던질까요? 이문장이실행된다면예외는던져지지않았습니다. finally out of try-catch 21

문제 import java.io.ioexception; public class ExceptionTest{ static void methoda() { throw new IOException(); public static void main(string[] args) { try { methoda(); catch(ioexception e) { System.out.println("caught IOException"); What's the result? a) The code will not compile b) Output is "caught Exception" c) Output is "caught IOException" d) The program execute normally without print a message 22

ExceptionTest.java:5: unreported exception java.io.ioexception; must be caught or declared to be thrown throw new IOException(); ^ ExceptionTest.java:10: exception java.io.ioexception is never thrown in body of corresponding try statement catch(ioexception e) { ^ 23

문제 public class Foo{ public static void main(string[] args) { try { return; finally { System.out.println("Finally"); What's the result? a) Print nothing b) Print "Finally" c) Not compiled and will Exception thrown d) Not compiled because catch block missing 24

관련문제 public class Foo{ public static void main(string[] args) { try { System.exit(0); finally { System.out.println("Finally"); What's the result? a) Print nothing b) Print "Finally" c) Not compiled and will Exception thrown d) Not compiled because catch block missing 25