java 异常
Posted 呐呐呐那
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 异常相关的知识,希望对你有一定的参考价值。
什么是异常?
在java中出现错误,创建异常类并抛出异常信息
异常的继承体系
Error:出现了就说明问题很大需要改代码
Exception:问题不是很严重的
1 } 2 public static int getArray(int[] arr)throws Exception{ 3 //throw 关键字后面必须跟异常对象 4 //throws 关键字后面必须跟异常类名 5 if(arr==null){ 6 throw new Exception("数组为空"); //创建异常类对象 7 } 8 if(arr.length<4){ 9 throw new Exception("数组长度不够"); 10 } 11 int i = arr[3]*2; 12 return i; 13 }
try{被检测的代码}
catch{处理异常语句}
finally{必须要执行的语句}
try:该代码块中编写可能产生异常的代码。
catch:用来进行某种异常的捕获,实现对捕获到的异常进行处理。
finally:有一些特定的代码无论异常是否发生,都需要执行
public static void main(String[] args) { // TODO 自动生成的方法存根 int[] arr ={1,2,3}; try{ int res = getArray(arr); System.out.println(res); }catch(Exception ex){ ex.printStackTrace(); }finally{ System.out.println("必须要执行的代码"); } System.out.println("我执行了吗"); }
当有多个catch在一起时,如果有父类异常对象,放在最后一个catch代码块里,子类放前面
当子类重写父类的方法时,如果父类声明了异常,子类可以声明父类异常或者父类异常的子类,或者不声明异常
当父类方法没有声明异常时,子类重写方法不可以声明异常
异常声明中常用的方法
建议使用printStackTrace 最全面
自定义异常类
传一个不定参数,返回平均数不能有负数
public static void main(String[] args) { double s = ping(2,2,2); System.out.println(s); }
public static double ping(double...a){ double sum =0; //定义一个计时器 for(int i=0;i<a.length;i++){ //把可变参数看成一个数组,遍历得到传过来的每一个数 if(a[i]<0){ //声明异常,如果穿过来的参数小于0,就声明 throw new FUshuException("不可以传负数"); } sum = sum+a[i]; //接收所有的数 } return sum/a.length; //总数除数组的长度就是每个的平均数 }
以上是关于java 异常的主要内容,如果未能解决你的问题,请参考以下文章
Android Java:在 onCreateView() 中返回空视图的片段
java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段