Java-优雅的异常处理

异常处理

1.异常的概念及异常体系

1.什么是Java中的异常

1. 代码正常运行不会出问题,但是遇到意外,参数变量,不符合要求,发生意外,代码终止运行

2. 代码中的异常处理好了,代码就可以顺利的继续运行!

1. System.out.println(1/0);//java.lang.ArithmeticException:/ by zero

2. String str = null;

System.out.println(str.length());//java.lang.NullPointerException

3. int[] arr = {1,2};

System.out.println(arr[arr.length]);//java.lang.ArrayIndexOutOfBoundsException: 2

4. SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd HH时mm分ss秒 E");

sdf.parse("fsdfsdf");//ParseException


2.异常处理

1.自己处理try-catch

自己处理,对可能发生异常的代码做处理:

 * try{

 * //可能发生异常的代码块

 * }catch(发生异常的类型 形式参数){

 * //在发生异常之后做相应的处理

 * }catch(发生异常的类型 形式参数){

 * }catch(发生异常的类型 形式参数){

 * }catch(发生异常的类型 形式参数){

 * }finally{

 * //一场代码块,执行完成之后,这个位置一定会执行的

 * //一般在这里释放锁,或者关闭流资源

 * }

 * 执行流程:进入try语句块----

 * 正常运行:finally

 * 发生异常:进入对应异常类型的catch语句块

 * */

2.异常抛出throws

public static void main(String[] args) throws Exception

3.获取异常信息的方式

System.out.println(e);//①直接打印异常对象:发现父类toString覆写了

System.out.println(e.getMessage());//②异常对象调用方法获取异常信息

e.printStackTrace();//③【异常对象调用方法,方法内部打印信息】最常用方式用异常对象去获得异常信息

4.finally代码块

finally语句块

 * try{

 * }catch(){

 * }fianlly{

 * //一定会执行的语句块【前提是没有关闭虚拟机】:释放锁,关闭流资源

 * }

 * finally:特点:return特点别讲解

 * 只要执行了,return 结束方法【finally 结构结束无效:缓存:暂时存着,真的结束才给出去】

 * */

5.产生异常throw

1. throw 开发代码存在以外的情况,自己主动抛出异常[产生异常]

(1) 在方法内部throw new NullPointException();.

你可能感兴趣的:(Java-优雅的异常处理)