//예외 발생시키기

import java.util.Scanner;

public class ExceptionTest4

{

//강제로 예외 발생시키기

//1~10 사이의 값 입력 --> 1~10 사이의 값이 아니면 예외 발생시킴

public ExceptionTest4(){

start();

}

public void start(){

try{

Scanner scan = new Scanner(System.in);

System.out.print("1~10 사이의 값 입력 = ");

int num = scan.nextInt();

if(num<1 || num>10){ //1~10 사이가 아닐 때

throw new Exception("1~10 사이의 값을 입력하세요."); //강제로 예외발생

}


System.out.println("num = "+num*2000);

}catch(Exception e){

System.out.println(e.getMessage());

}

}



public static void main(String[] args) 

{

new ExceptionTest4();

}

}



Posted by Hyun CHO
,

테스트 화면


//메소드 예외처리


import java.util.Scanner;

import java.util.InputMismatchException;

class ExceptionTest3 

{

int a, b, c;

//메소드 예외처리

public ExceptionTest3() throws InputMismatchException, ArithmeticException{

start();

}

public void start() throws InputMismatchException, ArithmeticException{

output();

}

public void output() throws InputMismatchException, ArithmeticException{

input();

c = a / b;

System.out.println("c = "+c);

}

public void input() throws InputMismatchException{

Scanner scan = new Scanner(System.in);

System.out.print("a = ");

a = scan.nextInt();

System.out.print("b = ");

b = scan.nextInt();

}

}

=====================================================================

메인 화면

import java.util.InputMismatchException;

public class ExceptionTest3Main 

{

public static void main(String[] args)

{

try{

ExceptionTest3 et3 = new ExceptionTest3();

}catch(Exception e){

System.out.println("예외 발생");

}

}

}



Posted by Hyun CHO
,

class Exceptiontest 

{

public static void main(String[] args) 

{

try{

//실행문; - 정상프로그래밍 코드

System.out.println(args[0]); //런타임 에러

}catch(ArrayIndexOutOfBoundsException aioobe){

//실행문; - 예외 발생시 실행

System.out.println("args 배열에서 예외발생...");

}

//실행문;

System.out.println("예외범위 실행 후...");

}

}


=====================================================================


//예외처리하기 : try-catch문


import java.util.Scanner;

import java.io.*;

class Exceptiontest2 

{

Scanner scan = new Scanner(System.in);

public Exceptiontest2(){

start();

}

public void start(){

int[] num = new int [3];

try{

System.out.print("수1 = ");

num[0] = scan.nextInt();

System.out.print("수2 = ");

num[1] = scan.nextInt();


num[2] = num[0] / num[1];

System.out.println(num[0]+" / "+num[1]+" = "+num[2]);


//파일의 내용 읽어오기

File f = new File("z:/KOSMO/java/class3/InnerMain.java");

FileInputStream fis = new FileInputStream(f);


byte data[] = new byte[1024];

int cnt = fis.read(data);

System.out.println(new String(data));


}catch(ArithmeticException ae){ // 예외 발생 시

//ae.printStackTrace();

System.out.println(ae.getMessage());

}catch(ArrayIndexOutOfBoundsException aioobe){

System.out.println(aioobe.getMessage());

}catch(FileNotFoundException fnfe){

System.out.println("Stream 객체생성시 에러 발생...");

}catch(IOException ie){

System.out.println("IOException 에러 발생...");

}catch(Exception e){

e.printStackTrace();

}finally{ //예외 발생과 상관없이 무조건 실행되는 곳

System.out.println("finally 실행...");

}

}



public static void main(String[] args) 

{

new Exceptiontest2();

}

}



Posted by Hyun CHO
,