Ausnahmen werden in zwei Arten unterteilt, nämlich Kompilierungsausnahmen und Laufzeitausnahmen.
Ausnahmen zur Kompilierungszeit
sind alle Ausnahmeklassen und ihre Unterklassen
Sie müssen explizit behandelt werden, sonst weist das Programm einen Fehler auf und kann nicht kompiliert werden
Laufzeitausnahme
Es handelt sich bei allen um RuntimeException-Klassen und ihre Unterklassen. Die Verarbeitung muss nicht angezeigt werden. Sie können auch wie Ausnahmen zur Kompilierungszeit behandelt werden. 2. Benutzerdefinierte Ausnahmen. Erstellen Sie zunächst eine neue Klasse
Der Code lautet wie folgt (Beispiel):
package com.xxgc.chop5_2.test; public class ExceptionDemo { public static void show4(){ //把字符串转换int类型 String a="张三"; int b=Integer.parseInt(a);//NumberF } //异常抛出 public static void show3() throws ClassNotFoundException { Class.forName("Student"); } public static void show2(){ //运行时异常:程序运行的时候出现的异常,可以try //编译时异常(非运行时异常):必须try catch 或者向上抛出 try { Class.forName("Student"); }catch (ClassNotFoundException e){ e.printStackTrace(); } } public static void show() { //制造一个异常,捕获异常,处理异常 try{ int []nums={1,2}; int n=10/0; int a=nums[3]; }catch (ArrayIndexOutOfBoundsException e) { e.printStackTrace(); System.out.println("数组下标出错了"); }catch (Exception e){ e.printStackTrace(); System.out.println("出错了"); }finally { //最终最后都要之心的代码,一般完成资源释放工作 System.out.println("最终的!!!"); } } public static void main(String[] args) { //trows:向上抛出异常,抛给方法的调用者 //show3()方法向上抛出了异常,需要main方法解决 //1.main方法解决了 //2.main没解决完,继续向上抛,jvm(Java虚拟机)解决 try { show3(); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } }
package com.xxgc.ch06.po; public class MyException extends RuntimeException{ public MyException(){ } public MyException(String s){ super(s); } }
Die hier verwendete Ideensoftware.
Das obige ist der detaillierte Inhalt vonWie können benutzerdefinierte Ausnahmen in Java definiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!