异常
来源:互联网 发布:python3 网络编程 编辑:程序博客网 时间:2024/05/06 21:45
异常:描述出错信息的对象。
Error 错误:所有错误的父类,可以捕获,但无法处理错误
Exrption 异常:所有异常的父类,可以捕获,可以处理错误
Excption和Error有一个共同的父类Throwable;
可以通过
try{
}catch(Exrptoin e){}
捕获异常,捕获异常的含义定义一个异常变量,用该变量接受tey块中抛出异常对象。
int【】 x ={3,4,5,8};
int sum =0;
try{
for(int i =0;i<=4;i++){
sum+=x[i];
}catch(Excption e){
System.out.printlh("出现异常");
}finally{
System.out.printlh("异常外代码");
}
System.out.printlh("finally块");
}
结果:
System.out.printlh("出现异常");
System.out.printlh("finally块");
System.out.printlh("异常外代码");
异常执行顺序:
先执行try块,顺序执行,如果有异常发生,那么专去catch块执行。同时终止try中的其他代码。无论是否有异常,finally都会执行。
finally块,是和try、catch连用语句块,表示无论是否有异常发生。都会执行语句块。如果try块或catch块中,有return语句,那么。在跳出方法之前执行,如果虚拟机关闭(System.exit(0)),finally才不会执行。所以,finally一般用于资源清理操作。比如,流关闭、数据库关闭
finally:只有在结束虚拟机时,才不会执行,其他时候都要执行。
如果一个try块后面定义多个catch块。当try块中有异常发生时,只会执行第一匹配异常对象的catch快,其余的catch块会忽略。
异常的分类:编译异常和运行异常
编译其异常,是要求开发者必须处理的异常。如果不处理,那么编译错误。
运行其异常:开发者可处理可不处理,如果不处理,也不会编译错误。
所有运行其异常都是RuntimeException 的子类。如果不是RuntimeException的子类,那么就是编译异常
//创建一个异常对象,然后显示抛出
throw new NullPointerException();
public static void test() throws Exception{
Properties pro = new Properties();
pro.load(new FileReader("理异常或继续抛出");
}
try{
Test();
}catch(Exception e){
System.out.println("必须处理异常或继续抛出");
}
throw 和throws的区别:
throw是一条语句,表示显示抛出某个异常。throw new Excreption();
thorws是方法修饰符,表示某个方法可能会抛出某个异常。那么,调用该方法时,
就必须处理该方法抛出的异常。
//得到1970-01-01到当前时间的毫秒
long su =System.currentTimeMillis();
System.out.println(su);
垃圾回收器,回收没有被变量所指向的变量。程序员不能干预垃圾回收,但是可以通过调用System.gc().加快垃圾回收的速度
finalize()是object中定义的。表示在垃圾回收器回收当前对象之前,自动调用的方法(),如果重写了该方法,可以做一些清理工作。
Integer x =new Integer(3);
int y =3;
//自动拆箱,先将包装类中封装的基本类型取出来,在和y相加
int z =x+y;
System.out.println(z);
//自动装箱,将5这个基本类型,封装成包装类对象,在将地址赋值给a
Integer a =5;
Date x1 =new Date();
int year =x1.getYear();
int month =x1.getMonth();
int data =x1.getDate();
System.out.println((year+1900)+" "+(1+month)+" "+data);
SimpleDateFormat sd =new SimpleDateFormat("yyyy年MM月dd日"+"");
String txt= sd.format(x1);
System.out.println(txt);
Error 错误:所有错误的父类,可以捕获,但无法处理错误
Exrption 异常:所有异常的父类,可以捕获,可以处理错误
Excption和Error有一个共同的父类Throwable;
可以通过
try{
}catch(Exrptoin e){}
捕获异常,捕获异常的含义定义一个异常变量,用该变量接受tey块中抛出异常对象。
int【】 x ={3,4,5,8};
int sum =0;
try{
for(int i =0;i<=4;i++){
sum+=x[i];
}catch(Excption e){
System.out.printlh("出现异常");
}finally{
System.out.printlh("异常外代码");
}
System.out.printlh("finally块");
}
结果:
System.out.printlh("出现异常");
System.out.printlh("finally块");
System.out.printlh("异常外代码");
异常执行顺序:
先执行try块,顺序执行,如果有异常发生,那么专去catch块执行。同时终止try中的其他代码。无论是否有异常,finally都会执行。
finally块,是和try、catch连用语句块,表示无论是否有异常发生。都会执行语句块。如果try块或catch块中,有return语句,那么。在跳出方法之前执行,如果虚拟机关闭(System.exit(0)),finally才不会执行。所以,finally一般用于资源清理操作。比如,流关闭、数据库关闭
finally:只有在结束虚拟机时,才不会执行,其他时候都要执行。
如果一个try块后面定义多个catch块。当try块中有异常发生时,只会执行第一匹配异常对象的catch快,其余的catch块会忽略。
异常的分类:编译异常和运行异常
编译其异常,是要求开发者必须处理的异常。如果不处理,那么编译错误。
运行其异常:开发者可处理可不处理,如果不处理,也不会编译错误。
所有运行其异常都是RuntimeException 的子类。如果不是RuntimeException的子类,那么就是编译异常
//创建一个异常对象,然后显示抛出
throw new NullPointerException();
public static void test() throws Exception{
Properties pro = new Properties();
pro.load(new FileReader("理异常或继续抛出");
}
try{
Test();
}catch(Exception e){
System.out.println("必须处理异常或继续抛出");
}
throw 和throws的区别:
throw是一条语句,表示显示抛出某个异常。throw new Excreption();
thorws是方法修饰符,表示某个方法可能会抛出某个异常。那么,调用该方法时,
就必须处理该方法抛出的异常。
//得到1970-01-01到当前时间的毫秒
long su =System.currentTimeMillis();
System.out.println(su);
垃圾回收器,回收没有被变量所指向的变量。程序员不能干预垃圾回收,但是可以通过调用System.gc().加快垃圾回收的速度
finalize()是object中定义的。表示在垃圾回收器回收当前对象之前,自动调用的方法(),如果重写了该方法,可以做一些清理工作。
Integer x =new Integer(3);
int y =3;
//自动拆箱,先将包装类中封装的基本类型取出来,在和y相加
int z =x+y;
System.out.println(z);
//自动装箱,将5这个基本类型,封装成包装类对象,在将地址赋值给a
Integer a =5;
Date x1 =new Date();
int year =x1.getYear();
int month =x1.getMonth();
int data =x1.getDate();
System.out.println((year+1900)+" "+(1+month)+" "+data);
SimpleDateFormat sd =new SimpleDateFormat("yyyy年MM月dd日"+"");
String txt= sd.format(x1);
System.out.println(txt);
0 0
- 异常
- 异常!
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 在编程这条路上,我依旧走着...
- 2016/09/26 补25 12:51
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-使用变量来存储数字
- 数据库
- Unity实现类似我的世界(Minecraft)的创建物体以及销毁物体的功能
- 异常
- 进程间的通信方式
- 面向对象
- Windows Server 2008 R2远程桌面服务配置和授权激活
- 电子多媒体实验室android端调取网络接口标准
- 线程同步和死锁
- 重载 与构造
- servlet知识
- poj3278 Catch That Cow BFS搜索 TWT Tokyo Olympic 2combo-1