深入了解Java之五(异常)
来源:互联网 发布:照片编辑软件 编辑:程序博客网 时间:2024/06/04 00:34
1.Java中的两种异常类型是什么?他们有什么区别?Java中Exception和Error有什么区别?
Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。这里有Java异常处理的一些小建议。
Exception和Error都是Throwable的子类。Exception用于用户程序可以捕获的异常情况。Error定义了不期望被用户程序捕获的异常。
2.throw和throws有什么区别?
throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。
3.异常处理完成以后,Exception对象会发生什么变化?
Exception对象会在下一个垃圾回收过程中被回收掉。
4.final,finally,finalize的区别?
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
- 深入了解Java之五(异常)
- 深入了解Java中的异常
- 深入了解Java之四(JVM)
- 深入了解Java之六(JDBC)
- cocos2d-x 3.0深入了解之五
- NVMain运行机制深入了解之五
- 深入了解JAVA之Arraylist
- Mybatis深入了解(五)----动态SQL
- Mybatis深入了解(五)----动态SQL
- Mybatis深入了解(五)----动态SQL
- 深入了解Java之二(线程方面)
- 深入了解Java之二(集合方面)
- 深入了解Java之二(集合方面绪)
- 深入了解Java之三(集合方面)
- Java深入理解之异常
- Java深入理解之异常
- 深入了解区块链之五:比特币网络
- 深入了解Java之虚拟机内存
- Java中的同步与死锁
- PL/SQL之触发器谓词
- MySQL基本知识
- Leetcode ☞ 35. Search Insert Position 【binary search 二分查找 模板】
- linux中的nm命令简介
- 深入了解Java之五(异常)
- C/C++中函数参数传递详解
- Python练习(1):递归和动态规划的简单应用
- Java父类引用指向子类对象的简单理解
- Android AutoCompleteTextView使用整理
- C语言的编译器及编译过程
- 《Android开发精要》读书笔记——Android应用模型
- 【函数式】Monads模式初探——Endofunctor
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-10