Heim > Java > javaLernprogramm > Hauptteil

Ausnahmebehandlung in Java

黄舟
Freigeben: 2017-02-22 10:05:58
Original
1315 Leute haben es durchsucht

1. Beispiel 1
//try-catch behandelt Ausnahmen

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("程序运行结束!");
		
	}
}
Nach dem Login kopieren

Ergebnisüberprüfung:
Bedienungsfehler, der Divisor darf nicht 0 sein!
Das Programm ist fertig!
2. Beispiel 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("程序运行结束!");
         
    }
}
Nach dem Login kopieren

Ergebnisüberprüfung:

Ergebnis eins:
Bitte geben Sie die erste Zahl ein:
123
Bitte geben Sie die zweite Zahl ein:
123
1
Das Programm ist fertig!
Ergebnis 2:
Bitte geben Sie die erste Zahl ein:
123
Bitte geben Sie die zweite Zahl ein:
b
Bitte geben Sie die richtige Zahl ein!
Das Programm ist fertig!

Ergebnis drei:
Bitte geben Sie die erste Zahl ein:
123
Bitte geben Sie die zweite Zahl ein:
0
Operationsfehler, Divisor Das geht nicht sei 0!
Das Programm ist fertig!

3. Beispiel 3
/ Konvertieren Sie die Benutzereingabezeichenfolge in eine Ganzzahl
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;
		}		
}
Nach dem Login kopieren



//Schreiben Sie eine Testklasse, rufen Sie die Datentypkonvertierungsmethode auf und übergeben Sie die Parameter „Gut!“, 20

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

	}

}
Nach dem Login kopieren



Zeichenfolge in Ganzzahl umwandeln, bitte geben Sie die richtige Zahl ein:
Gut!
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;
        }      
}
Nach dem Login kopieren



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);
 
    }
 
}
Nach dem Login kopieren

Verifizierung:

Bitte geben Sie eine Zahl ein:
123
123

Bitte geben Sie eine Zahl ein:
abc
Um einen String in eine Ganzzahl umzuwandeln, geben Sie bitte die richtige Zahl ein:
abc

4. Beispiel 4
//[b]throws, throw throws eine Ausnahme[/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("性别必须为男或者女!");
            }              
    }          
}
Nach dem Login kopieren



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

java.lang.Ausnahme: Geschlecht muss männlich oder weiblich sein!
bei Error.setSex(Error.java:22)
bei ErrorDemo.main(ErrorDemo.java:9)
Programm endet

5,
Benutzerdefinierte Ausnahme
// Exception-Unterklasse erstellen, um [b]Excptionübergeordnete Klasse[/b] zu erben

//创建类

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("性别必须为男或者女!");
            }              
    }          
}
Nach dem Login kopieren



//创建ExceptionDemo子类

public class ExceptionDemo extends Exception {

	public ExceptionDemo() {
		super();
		
	}

	public ExceptionDemo(String message) {
		super(message);
		
	}
	
}
Nach dem Login kopieren



//创建测试类

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("程序结束!");
 
    }
 
}
Nach dem Login kopieren

Ergebnisüberprüfung:
Bitte Geschlecht eingeben:
Männlich
Der Vorgang ist beendet!

Bitte geben Sie Ihr Geschlecht ein:

nan
ExceptionDemo: 性别必须为男或者女!
at Error.setSex(Error.java:23)
at ErrorDemo.main(ErrorDemo.java:10)
Nach dem Login kopieren

Das Programm ist beendet!

Das Obige ist der Inhalt der Java-Ausnahmebehandlung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!