java的异常总结
异常:在java程序中也出现不正常的情况,这个就叫异常。java是面向对象的语言。任何事物都可以用类来描述,同样异常也是一种事物,java中提供了很多异常类
很多异常堆积起来叫做异常体系
Throwable -------------所有异常的父类
--------------error
--------------exception
类的完整的名称: 包名 +类名
1.toString()//对throwable 的简短描述 类的完整的名称 message的信息也会打印出来
2.getMessage() //throwable的详细信息字符串
3.printStrackTrace //打印的是异常时栈内存
Error 错误
错误一般是java虚拟机或者硬件导致的问题,所以我们一般不会用代码来处理错误
Exception 所有的异常都继承与Exception
异常和错误的区别:
如果程序出现不正常的情况,信息的结尾是以Error就是错误,其他的都是异常
异常的处理:
方式1:捕获处理
捕获处理的格式:
Try(){
可能发生的异常的代码
}catch(捕获的异常的类型 变量名){
异常的处理
}
捕获异常处理的注意点:
- 如果try中的代码处理问题之后,会继续执行try-catch以外的代码
- Catch中的代码,只有在try中的代码出现异常时才会执行
- 一个try中可以跟多个catch块,也就是说一个try可以处理多个异常
- Try捕获异常是从小到大来捕获异常的,否则就会报错
异常捕获到底有什么用?
目前还看不出用处,在学习javaEE就很有用
为什么不直接用一个大的异常?
为了让我们快速的找到错误点
方式2:抛出处理(throw throws)
Throw,throws使用注意点:
- Throw关键字是用于方法里面的,throws用于方法的声明上
- Throw关键字用于方法内部抛出异常,throws用于方法声明上抛出异常
- Throw关键字后面只能有一个异常,throws可以声明多个异常
抛出异常使用的注意点:
- 如果在方法中抛出了一个异常对象,就必须在方法上声明这个异常的抛出
- 如果一个方法调用了抛出异常的方法,那么这个调用者就必须处理这个抛出的异常(调用者可以是调用这个方法的方法和jvm虚拟机)
- 如果一个方法中抛出了异常,那么throw后面的代码就不会再执行了
- 在一种情况下只能抛出一种异常
什么时候抛出异常?什么时候不抛?
需要通知你的调用者,你的代码可能存在问题,这个时候就需要抛出异常
如果你的代码是直接和用户打交道的时候遇到以遇到异常,就需要自己处理
有时候异常必须声明,有时候可以不声明
Exception
--------》运行时异常:抛出运行时异常,是可以不用在方法上声明异常
-------》编译时异常:抛出编译时异常,方法上必须声明异常,调用者也必须要处理
如何区分编译时和运行时异常:
属于运行时异常:是RuntimeException 或者继承与他的子类的都是运行时异常
属于编译时异常:除了运行时异常,其他的都是编译时异常(最大的异常Exception(异常超类)是编译时异常)
Finally 块
Finally 块 和try 一起用
Finally:无论出了什么问题,finally中的代码块都会执行,除非jvm退出了,代码才不会执行
Finally 非常适合做资源释放的工作,这样就可以保证我这资源文件在任何时候都可以被释放
Java中的包:相当于电脑中的文件夹
包:可以将编译的class文件放入到指定的包中
定义包:
Package 关键字定义包
不同的包中类与类之间的访问注意点:
- 类需要用public修饰
- 被访问的类要先编译出来
- 在其他类中使用其他类需要用到类 的全名
可以用导包来解决问题3
导包用关键字:import
导包格式:
Import 包名1 . 包名2……类名;
Import 包名 . *; 直接导入所有
推荐使用第一种导包方法
使用包的好处:
- 可以防止同名的的类文件的冲突
- 使原文件与编译后的文件分离,便于软件的发布
使用包注意点:
- 一个java类中只能定义一个包
- 包的定义是类描述的第一个语句
java的异常总结的更多相关文章
- java的异常
下面是我对Java异常知识的几个小总结,也算是资源回收一下 一.Java异常的知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运 ...
- 《java中异常和错误》
异常和错误的区别. 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发 ...
- Atitit java的异常exception 结构Throwable类
Atitit java的异常exception 结构Throwable类 1.1. Throwable类 2.StackTrace栈轨迹1 1.2. 3.cause因由1 1.3. 4.Suppres ...
- Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- java 异常
异常简介 java中有Error和Exception Error:是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行操作无关,而表示运行时JVM出现的问题. Excepti ...
- Java基础——异常体系
在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. ...
- Java并发编程:Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...
- 【转】Java ConcurrentModificationException异常原因和解决方法
原文网址:http://www.cnblogs.com/dolphin0520/p/3933551.html Java ConcurrentModificationException异常原因和解决方法 ...
- JAVA基础——异常详解
JAVA异常与异常处理详解 一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1 ...
- 你真的会阅读Java的异常信息吗?
给出如下异常信息: java.lang.RuntimeException: level 2 exception at com.msh.demo.exceptionStack.Test.fun2(Tes ...
随机推荐
- 事件DOMContentLoaded和load的区别
1.当 onload 事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了. 2.当 DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,f ...
- sublime
sublime的格式化快捷键 其实在sublime中已经自建了格式化按钮:Edit -> Line -> Reindent 只是sublime并没有给他赋予快捷键,所以只需加上快捷 ...
- java中HashMap重要性质和优化总结
原文: http://www.cnblogs.com/junyuhuang/p/4519257.html
- 搜索框(Thinkphp5.0)
1.普通关键词搜索框 模板部分代码: <form name='searchform' action='/index.php/module/controller/search' method='g ...
- 翻书插件:bookblock.js
BookBlock 是一个 jQuery插件,用来制作带有翻页效果的小书册.可以用任何形式的内容,比如图像或文本.插件会在翻页时利用变形模拟手工翻页,并产生重叠的阴影以达到更逼真的效果. 基本页面 & ...
- JS循环语句作业讲解(折纸、兔子生兔子、买东西组合)
1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米: varn = 0;varg = 0.0001;while(){ g= g *2; n++ (g>8848bre ...
- DEDEcms 在php5.4以上 后台登录空白解决办法
本次环境php5.5 首先确定 dede data文件夹已经有写入权限 775 777都可以 然后再远程桌面或者FTP修改 include/userlogin.class.php 文件 注释掉下面六句 ...
- JS 工具类
之前工作用的JavaScript比较多,总结了一下工具类,和大家分享一下,有不足之处还请多多见谅!! 1. 数组工具类(arrayUtils) var arrayUtils = {}; (functi ...
- HTML 5 胜出:XHTML2 宣告夭折
自HTML 5 和XHTML 2规范草稿公布以来,一直存在很大的争议.HTML 5是由包括Google.Mirosoft.Mozilla.Opera.Apple在内多家浏览器厂商共同起草的下一代web ...
- linux下如何关闭防火墙?如何查看防火墙当前的状态
从配置菜单关闭防火墙是不起作用的,索性在安装的时候就不要装防火墙查看防火墙状态:/etc/init.d/iptables status暂时关闭防火墙:/etc/init.d/iptables stop ...