>Java >java지도 시간 >Java의 예외 처리

Java의 예외 처리

黄舟
黄舟원래의
2017-02-22 10:05:581363검색

1. 예시 1
// try-catch가 예외 처리

public class Error {

	public static void main(String[] args) {
		
		int num1=34,num2=0;
		
		//使用try包裹住会产生异常的代码段
		
		try{
		
			System.out.println(num1/num2);
			
		}
		
		//使用catch去处理对应的异常
		
		catch(ArithmeticException error){
		
		//处理方法
		
			System.err.println("运算错误,除数不能为0!");
			
		}
		
		System.out.println("程序运行结束!");
		
	}
}

결과 확인:
연산 오류입니다. 제수는 0이 될 수 없습니다!
프로그램이 종료되었습니다!
2. 예시 2

import java.util.InputMismatchException;

import java.util.Scanner;
 
public class Error {
 
    public static void main(String[] args) {
    	
        Scanner input = new Scanner(System.in);
        
        System.out.println("请输入第一个数字:");
        
        //使用try包裹住会产生异常的代码段
        
        try{
            int num1=input.nextInt();
            
            System.out.println("请输入第二个数字:");
            
            int num2=input.nextInt();
            
            System.out.println(num1/num2);
        }
        
        //使用catch去处理对应的异常
        
        catch(ArithmeticException error1){
        	
            //处理方法
        	
            System.err.println("运算错误,除数不能为0!");
            
        }catch(InputMismatchException error2){
        	
            System.err.println("请输入正确的数字!");
        }
        
        System.out.println("程序运行结束!");
         
    }
}

결과 확인:

결과 1:
첫 번째 숫자를 입력하세요:
123
두 번째 숫자를 입력하세요:
123
1
프로그램이 종료되었습니다!
결과 2:
첫 번째 숫자를 입력하세요:
123
두 번째 숫자를 입력하세요:
b
올바른 숫자를 입력하세요!
프로그램이 종료되었습니다!

결과 3:
첫 번째 숫자를 입력하세요:
123
두 번째 숫자를 입력하세요:
0
연산 오류, 제수 불가 0이 되어라!
프로그램이 종료되었습니다!

3. 예시 3
// 사용자 입력 문자열을 정수로 변환
3.1

public class Error {
		
		String str;
		
		public Error(String str) {
			
			this.str = str;
		}

			public  String Transform(){
				try{
					
					int num = Integer.parseInt(str);
					
				}catch(NumberFormatException num){
					
					System.out.println("字符串转整型,请输入正确的数字:");
					
				}catch(Exception e){
					
				}
				return str;
		}		
}



//테스트 클래스 작성, 데이터 유형 변환 메소드 호출, 매개변수 "Good!" 전달, 20

public class ErrorDemo {
	
	public static void main(String[] args) {
		
		Error er = new Error("Good!");
		
		er.Transform();
		
		System.out.println(er.str);

	}

}



string 각각 정수로 변환하세요. 올바른 숫자를 입력하세요:
좋습니다!
3.2

public class Error {
         
        int num = 0;
         
        public Error() {
            
          
        }
        
        public Error(int num) {
             
            this.num = num;
        }
 
        public  int TransformtoInt(String str){
              
        	try{
                     
                 int num1 = Integer.parseInt(str);
                     
                }catch(NumberFormatException num){
                     
                    System.err.println("字符串转整型,请输入正确的数字:");
                     
                }catch(Exception error){
                     
                	error.printStackTrace();
                	
                }
        return num;
        }      
}



import java.util.Scanner;

public class ErrorDemo {
     
    public static void main(String[] args) {
   
    	Scanner input = new Scanner(System.in);
        
    	System.out.println("请输入一个数字:");
    	
    	String str = input.next();
    	
    	Error toInt = new Error();
    	
        toInt.TransformtoInt(str);
         
        System.out.println(str);
 
    }
 
}

확인:

숫자를 입력하세요:
123
123

숫자를 입력하세요:
abc
문자열을 정수로 변환하세요. 올바른 숫자:
abc

4. 예시 4
//[b]throws, throws 예외[/b]

public class Error {
         
    String sex ;
 
    public Error() {
       
    }
 
    public String getSex() {
    	
        return sex;
        
    }
 
    public void setSex(String sex) throws Exception {
         
            if(sex.equals("男")|sex.equals("女")){
            	
                this.sex = sex;
                
            }else{
         
                throw new Exception("性别必须为男或者女!");
            }              
    }          
}



public class ErrorDemo {
 
     
    public static void main(String[] args) {
     
        Error er = new Error();
        
        try{
        	
            er.setSex("熊");
            
        }catch(Exception error){
        	
            error.printStackTrace();
        }
        
        System.out.println("程序结束");
 
    }
 
}

java.lang.예외: 성별은 남성이거나 여성이어야 합니다!
Error.setSex(Error.java:22)
ErrorDemo.main(ErrorDemo.java:9)
프로그램 종료

5,
사용자 정의 예외
// [b]Excption상위 클래스[/b]

//创建类

public class Error {
         
    String sex ;
 
    public Error() {
       
    }
 
    public String getSex() {
    	
        return sex;
        
    }
 
    public void setSex(String sex) throws Exception {
         
            if(sex.equals("男")|sex.equals("女")){
            	
                this.sex = sex;
                
            }else{
         
                throw new ExceptionDemo("性别必须为男或者女!");
            }              
    }          
}



를 상속하기 위한 Excption 하위 클래스 생성

//创建ExceptionDemo子类

public class ExceptionDemo extends Exception {

	public ExceptionDemo() {
		super();
		
	}

	public ExceptionDemo(String message) {
		super(message);
		
	}
	
}



//创建测试类

import java.util.Scanner;

public class ErrorDemo {
 
     
    public static void main(String[] args) {
     
        Error er = new Error();
        
        try{
        	
        	Scanner next = new Scanner(System.in);
        	
        	System.out.println("请输入性别:");
        	
            er.setSex(next.next());
            
        }catch(Exception error){
        	
            error.printStackTrace();
        }
        
        System.out.println("程序结束!");
 
    }
 
}

결과 확인:
성별을 입력하세요:
남자
과정이 끝났습니다!

성별을 입력하세요:

rree

프로그램이 끝났습니다!

위 내용은 Java Exception Handling 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바 루프다음 기사:자바 루프