一、异常处理
1.try catch.......try中处理数据,catch捕获异常....例
1 public class first { 2 public static void main(String args[]){ 3 try{ 4 int a=8; 5 int b=0; 6 System.out.println(a/b); 7 } 8 catch(Exception e){ 9 System.out.println("hi"); 10 } 11 } 12 13 }
2.使用throw抛出异常,
情况一:throw抛出的异常交给catch处理;
1 package Exception; 2 3 public class Try_catche { 4 public void info(String sss) { 5 try{ 6 if(sss.equals("ssssss")){ 7 8 } 9 else{ 10 throw new Exception(""); 11 } 12 } 13 catch(Exception e){ 14 System.out.println("咕咕咕咕"); 15 } 16 } 17 public static void main(String args[]){ 18 String a="asda"; 19 new Try_catche().info(a); 20 } 21 }
情况二:throw抛出的异常交给调用该程序的调用者处理;
1 public class Try_catche { 2 public void info(String sss)throws Exception {//将异常交给调用者处理 3 4 if(sss.equals("ssssss")){ 5 6 } 7 else{ 8 throw new Exception("");//这里抛出异常 9 } 10 11 } 12 public static void main(String args[]){ 13 String a="asda"; 14 try{ 15 new Try_catche().info(a); 16 } 17 catch(Exception e){ 18 System.out.println("处理完毕");//调用者处理异常 19 } 20 } 21 }
情况三:有时候程序会对异常先进性简单处理再将此异常交给调用程序继续处理(先学习一下自己定义异常)
1.自己定义了一个Personal_Exception;
2.使用自定义异常二次捕获异常,二次处理异常;
1 ublic class Try_catche { 2 public void info(String sss)throws Personal_Exception {//将异常交给调用者处理 3 try{ 4 if(sss.equals("ssssss")){ 5 6 } 7 else{ 8 throw new Personal_Exception();//这里抛出异常 9 } 10 }catch(Personal_Exception e){ 11 System.out.println("第一次处理异常");//捕获异常第一次处理 12 } 13 if(sss.equals("xiaoming")){ 14 throw new Personal_Exception(); 15 } 16 17 } 18 public static void main(String args[]){ 19 String a="asda"; 20 try{ 21 new Try_catche().info(a); 22 } 23 catch(Personal_Exception e){ 24 System.out.println("第二次处理异常处理完毕");//调用者二次处理异常 25 } 26 } 27 }
二、自己定义异常,继承基类异常Exception或者其他异常;
演示:自定义一个Personal_Exception继承基类Exception
1 public class Personal_Exception extends Exception { 2 public Personal_Exception(){}; 3 public Personal_Exception(String msg){ 4 super(msg); 5 System.out.println("自己定义的异常!"); 6 } 7 8 }