异常:在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(捕获的异常的类型 变量名){
异常的处理
}
捕获异常处理的注意点:
异常捕获到底有什么用?
目前还看不出用处,在学习javaEE就颇有用
为何不直接用一个大的异常?
为了让咱们快速的找到错误点
方式2:抛出处理(throw throws)
Throw,throws使用注意点:
抛出异常使用的注意点:
何时抛出异常?何时不抛?
须要通知你的调用者,你的代码可能存在问题,这个时候就须要抛出异常
若是你的代码是直接和用户打交道的时候遇到以遇到异常,就须要本身处理
有时候异常必须声明,有时候能够不声明
Exception
--------》运行时异常:抛出运行时异常,是能够不用在方法上声明异常
-------》编译时异常:抛出编译时异常,方法上必须声明异常,调用者也必需要处理
如何区分编译时和运行时异常:
属于运行时异常:是RuntimeException 或者继承与他的子类的都是运行时异常
属于编译时异常:除了运行时异常,其余的都是编译时异常(最大的异常Exception(异常超类)是编译时异常)
Finally 块
Finally 块 和try 一块儿用
Finally:不管出了什么问题,finally中的代码块都会执行,除非jvm退出了,代码才不会执行
Finally 很是适合作资源释放的工做,这样就能够保证我这资源文件在任什么时候候均可以被释放
Java中的包:至关于电脑中的文件夹
包:能够将编译的class文件放入到指定的包中
定义包:
Package 关键字定义包
不一样的包中类与类之间的访问注意点:
能够用导包来解决问题3
导包用关键字:import
导包格式:
Import 包名1 . 包名2……类名;
Import 包名 . *; 直接导入全部
推荐使用第一种导包方法
使用包的好处:
使用包注意点: