java的异常总结

异常:在java程序中也出现不正常的状况,这个就叫异常。java是面向对象的语言。任何事物均可以用类来描述,一样异常也是一种事物,java中提供了不少异常类java

不少异常堆积起来叫作异常体系jvm

 

Throwable -------------全部异常的父类学习

         --------------error对象

         --------------exception继承

类的完整的名称: 包名 +类名内存

1.toString()//对throwable 的简短描述    类的完整的名称 message的信息也会打印出来资源

2.getMessage()  //throwable的详细信息字符串字符串

3.printStrackTrace  //打印的是异常时栈内存get

Error  错误虚拟机

错误通常是java虚拟机或者硬件致使的问题,因此咱们通常不会用代码来处理错误

 

Exception  全部的异常都继承与Exception

异常和错误的区别:

若是程序出现不正常的状况,信息的结尾是以Error就是错误,其余的都是异常

 

异常的处理:

方式1:捕获处理

捕获处理的格式:

Try(){

   可能发生的异常的代码

}catch(捕获的异常的类型  变量名){

异常的处理

}

捕获异常处理的注意点:

  1. 若是try中的代码处理问题以后,会继续执行try-catch之外的代码
  2. Catch中的代码,只有在try中的代码出现异常时才会执行
  3. 一个try中能够跟多个catch块,也就是说一个try能够处理多个异常
  4. Try捕获异常是从小到大来捕获异常的,不然就会报错

 

异常捕获到底有什么用?

目前还看不出用处,在学习javaEE就颇有用

为何不直接用一个大的异常?

为了让咱们快速的找到错误点

 

 

方式2:抛出处理(throw  throws)

Throw,throws使用注意点:

  1. Throw关键字是用于方法里面的,throws用于方法的声明上
  2. Throw关键字用于方法内部抛出异常,throws用于方法声明上抛出异常
  3. Throw关键字后面只能有一个异常,throws能够声明多个异常

抛出异常使用的注意点:

  1. 若是在方法中抛出了一个异常对象,就必须在方法上声明这个异常的抛出
  2. 若是一个方法调用了抛出异常的方法,那么这个调用者就必须处理这个抛出的异常(调用者能够是调用这个方法的方法和jvm虚拟机)
  3. 若是一个方法中抛出了异常,那么throw后面的代码就不会再执行了
  4. 在一种状况下只能抛出一种异常

何时抛出异常?何时不抛?

须要通知你的调用者,你的代码可能存在问题,这个时候就须要抛出异常

若是你的代码是直接和用户打交道的时候遇到以遇到异常,就须要本身处理

 

有时候异常必须声明,有时候能够不声明

Exception

  --------》运行时异常:抛出运行时异常,是能够不用在方法上声明异常

  -------》编译时异常:抛出编译时异常,方法上必须声明异常,调用者也必需要处理

 

如何区分编译时和运行时异常:

属于运行时异常:是RuntimeException 或者继承与他的子类的都是运行时异常

属于编译时异常:除了运行时异常,其余的都是编译时异常(最大的异常Exception(异常超类)是编译时异常)

 

Finally   块

Finally 块 和try 一块儿用

Finally:不管出了什么问题,finally中的代码块都会执行,除非jvm退出了,代码才不会执行

Finally 很是适合作资源释放的工做,这样就能够保证我这资源文件在任什么时候候均可以被释放

 

 

Java中的包:至关于电脑中的文件夹

包:能够将编译的class文件放入到指定的包中

定义包:

Package  关键字定义包

不一样的包中类与类之间的访问注意点:

  1. 类须要用public修饰
  2. 被访问的类要先编译出来
  3. 在其余类中使用其余类须要用到类 的全名

能够用导包来解决问题3

导包用关键字:import

导包格式:

Import 包名1 . 包名2……类名;

Import 包名 . *; 直接导入全部

推荐使用第一种导包方法

使用包的好处:

  1. 能够防止同名的的类文件的冲突
  2. 使原文件与编译后的文件分离,便于软件的发布

使用包注意点:

  1. 一个java类中只能定义一个包
  2. 包的定义是类描述的第一个语句
相关文章
相关标签/搜索