在千锋学习Java已经有一段时间了,不断地接触新的技术知识,总结旧的技术知识,今天给大家总结分享的是:异常。
程序中出现的不正常的情况我们称之为“异常”。在运行时出现了不正常的情况,程序将它进行了属性和行为(异常的位置、原因、名字等)的抽象,提取,终究形成了对象,继而形成各种异常类。
一、异常的分类
1.Error,错误。对应的是程序运行过程中出现的严重的问题,这里我们不需要去修改。
2.Exception,为我们平时称的异常。对应的是运行过程中出现的不严重的问题。我们可以尝试去修改。而Exception分类我们又可以按照不同的标准进行细分:
第一种分类:编译异常,运行时异常。
编译异常在编译阶段抛出异常,处理异常。运行时异常,在运行阶段抛出异常,处理异常。
第二种分类:系统异常,自定义异常。
系统异常指代系统提起定义好的,我们直接拿来使用。自定义异常是指需要我们自定的常见异常。
二、异常的特点
异常的特点,指程序出现不正常的情况时,程序会打印异常信息并除锈按后曾虚中断,
所以当同时出现多个异常的时候,只能执行其中一个。
数组下标异常---ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
三、对异常的处理
检查异常,捕获异常,让异常不影响下面代码的执行。简单举例说明:
“try{”可能出现异常的代码“}catch(Exception e){//“”捕获异常,“e”就是要捕获的异常。
对出现异常的代码的处理“}”,只要“try”内部的代码发生了异常,“catch”会立刻捕获异常,这里的代码不会被执行。只有“try”内部的代码没有发生异常,这里才会执行,但是“catch”不会再执行。
当遇到多异常处理时,“try{”可能出现异常的代码“}catch(异常一 e){//”捕获异常, “e”就是要捕获的异常。
对出现异常的代码的处理“ }catch(异常二 e){”;对出现异常的代码的处理“ }catch(Exception e){”;对出现异常的代码的处理“ }”,“try{”,资源的获取“ }finally{”,资源的释放。
必须执行的代码指用于资源释放,多线程中的锁对,流的释放,数据库的关闭等。如所遇异常为自定义异常,即自己定义的异常类,由于Exception里面有异常的基本功能,一般我们都是写Exception的子类。
为什么要有自定义异常类?因为系统没有定义好的异常需要自己定义。我们解决的是系统没有解决的问题。例如订单异常 ,除数为负数异常,用户登录异常,账户异常。
以上是关于异常知识点的整理,更多知识点分析,即将呈上。从平凡到卓越,为梦想而拼搏。千锋Java培训让你的人生不见“异常”。