博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
总结11
阅读量:5251 次
发布时间:2019-06-14

本文共 1363 字,大约阅读时间需要 4 分钟。

异常:描述出错信息的对象。(本质是对象)

Exception为所有异常的父类,可以捕获,可以处理。

Error为所有错误的父类,可以捕获,不能处理。

Exception和Error有一个共同的父类Throwable

可以通过

try{
}catch(Exception){
}
捕获异常。捕获异常的含义为定义一个异常变量,用该变量接收try块中抛出的异常对象。

异常执行流程:

int [] x = {3,4,5,6,};
int sum = 0;
try{
for(int i=0;i<=4;i++){ //在最后一次循环时报错,执行catch里面的代码
sum += x[i];
}
system.out.println(sum); //不会被执行
}catch(Exception e){
system.out.println("出现异常");
}
System.out.println("异常外代码")

执行结果为:

出现异常
异常外代码

finally:和try,catch联用的语句块,表示无论是否有异常都会执行的语句块;除非关闭虚拟机,否则无论如何都会执行。如果try块或catch块中有retuen语句,那么,跳出方法之前执行。如果虚拟机关闭(System.exit(0)),finally才不会执行。所以finally一般用于资源清理操作,比如,流的关闭,数据库的关闭等。

try{
}catch(){
}finally{
}

异常执行顺序:

先执行try块,顺序执行,如果有异常发生,那么转去catch块执行,同时终止try块中的其他代码,无论是否有异常,finally块都会执行

如果一个try块后面定义了多个catch块,try块中有异常发生时,只会执行第一个匹配异常对象的catch块。其余的catch块会忽略。

异常的分类:

编译期异常和运行期异常
编译期异常,是要求开发者必须处理的异常。如果不处理,那么编译错误。
运行期异常,开发者可处理可不处理,如果不处理,也不会编译错误。

所有运行期异常都是RuntimeException的子类,如果不是RuntimeException的子类,那么就是编译期异常。

throw和throws的区别:

throw是一条语句,表示显示抛出某个异常对象。throw new Exception();
throws是方法修饰符。表示某个方法可能会抛出某个异常。那么,调用该方法时,就必须处理该方法抛出的异常。

垃圾回收器,回收没有被变量所指向的对象,程序员不能干预垃圾回收,但是可以通过调用System.gc()。加快垃圾回收的速度。

Integer x = new Integer(3);
int y = 3;

//自动拆箱,先将包装类中封装的基本数据类型取出来,在和y相加:

int z = x + y;

System.out.println(z);

//也可以写作Integer x = 3;这个叫做自动装箱,将5这个基本类型,封装成包装类对象,再将地址赋值给x.

@Deprecated

//定义该方法为过时方法,过时的方法可以用,但是不推荐用。

 

转载于:https://www.cnblogs.com/ljjdeblogs/p/5897919.html

你可能感兴趣的文章
Spring3.0 AOP 具体解释
查看>>
我的Hook学习笔记
查看>>
EasyUI DataGrid 中字段 formatter 格式化不起作用
查看>>
海量数据存储
查看>>
js中的try/catch
查看>>
[导入]玫瑰丝巾!
查看>>
自动从网站上面下载文件 .NET把网站图片保存到本地
查看>>
【识记】 域名备案
查看>>
STL uva 11991
查看>>
MY SQL的下载和安装
查看>>
自定义OffMeshLink跳跃曲线
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
学习Redux之分析Redux核心代码分析
查看>>
ABAP 创建和调用WebService
查看>>
C# 实例化顺序
查看>>
CSS水平垂直居中总结
查看>>
委托又给我惹麻烦了————记委托链的取消注册、获取返回值
查看>>
ps怎么把白色背景变透明
查看>>
gource 安装教程
查看>>