java基础知识学习 java异常
1: Unchecked Exception( 也就是运行时异常) VS Check Exception(非运行时异常)
2: 运行期异常 VS 非运行期异常?
非运行时异常: 必须在代码中显示的声明捕获也就是放在try{}catch(){}块中,或者在方法上申明throws 来抛出异常,类型上都属于Exception类及其子类。
运行时异常:不需要特意的申明,一般运行时异常都是虚拟机出现问题了才会报,比如你写个死循环导致内存不足什么的, 运行时异常都是RuntimeException类及其子类,如 NullPointerExcetpion、IndexOutOfBoundsExcrtiption等,程序可以不捕获。一般是由逻辑引起的,要尽量避免。
RuntimeException类是Exception类的子类,它叫做运行时异常,Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。
Java中凡是继承自Exception,而不继承自RuntimeException类的异常都是非运行时异常。
3: 什么是异常丢失?
抛出异常后处理异常的code又抛出新异常,则旧异常丢失。
4: 异常处理两种方式?
用try {} catch{} finally {} 捕获处理; 函数后面throws Excepltion,抛出异常,函数内部throw new Exception()。
5: 如何自定义异常?
继承Exception或其子类(比如RuntimeException)。
6: try语句块中有return, 会执行finally吗? 如果执行try{} 之前有return, finally会执行吗?
try中有return, 也会首先执行finally中的代码; 如果是Sytem.exit(0),就不执行finally;
如果在try之前有return, finally 是不会被执行的。
7: catch中的异常匹配?
基类会捕获派生类异常。catch的时候,会先匹配派生类的,然后是基类的。
8: Throwable, Error, Exception, RuntimeException的区别?
(1)Throwable类是 Java 语言中所有错误或异常的超类。它的两个子类是Error和Exception;
(2)Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件;
(3)Exception类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件;
(4)RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
可能在执行方法期间抛出但未被捕获的RuntimeException 的任何子类都无需在 throws 子句中进行声明。它是Exception的子类;
java基础知识学习 java异常的更多相关文章
- Java基础知识学习(九)
GUI开发 先前用Java编写GUI程序,是使用抽象窗口工具包AWT(Abstract Window Toolkit).现在多用Swing.Swing可以看作是AWT的改良版,而不是代替AWT,是对A ...
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
- java基础知识学习笔记
本文知识点以js为参照.对比分析得出笔记.JavaScript之所以叫JavaScript是打算借助java推广自己.虽然都是开发语言,但JavaScript一开始主要运行在 客户端,而java主要运 ...
- Java基础知识学习(三)
面向对象部分 首先要了解面向对象的思想,与C#一致,都是面向对象的语言 访问修饰符 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private ...
- Java基础知识学习(一)
部门接了新项目,后台使用Java框架play framework,前端是html,前后台通过rest交互,能够支持多端的互联网架构. 因为之前没有Java基础,前端使用的也很少,决定深入学习一下Jav ...
- Java基础知识学习
1.什么是Java编程语言 Java是:一种编程语言.一种开发环境.一种应用环境.一种部署环境 2.Java编程语言的主要目标 (1)提供一种解释环境为:提高开发速度.代码可移植性.使用户能运行不止一 ...
- JAVA 基础知识学习笔记 名称解释
Java ee: IDE: itegrity development environment 集成开发环境 JMS: java Message Service java 信息服务 JM ...
- Java基础知识学习01
0 项目,包,文件,类 Mytest是自己建的java工程,包含src和JRE System Libery.其中src是存放自己的代码的地方,JRE包含程序运行时所需要的各种文件:在src下包含Tes ...
- Java基础知识(JAVA之IO流)
学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各 ...
随机推荐
- PAT 1062. 最简分数(20)
一个分数一般写成两个整数相除的形式:N/M,其中M不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母 ...
- 移动端 触摸事件 ontouchstart、ontouchmove、ontouchend、ontouchcancel[转]
转:http://www.cnblogs.com/irelands/p/3433628.html 1.Touch事件简介pc上的web页面鼠 标会产生onmousedown.onmouseup.onm ...
- Linux基础系列:常用命令(7)_正则表达式
一.环境边量 每个用户登录shell需要执行的四个文件 /etc/profile /home/egon/.bashrc_profile /home/egon/.bashrc /etc/bashrc 非 ...
- Tomcat的Server.xml虚拟主机和虚拟目录的配置
以前开发JavaEE网站都布置在Tomcat下,布置目录一般为$CATALINA_HOME/webapps/WebName,所以要访问网站,则在http://localhost后必须要加上上下文路径( ...
- c的详细学习(3)数据的输入输出
c语言没有专门的数据输入输出语句,而是通过调用系统提供的的标准输入/输出库函数来实现数据的输入和输出. (1)数据的输出: 注意:在使用标准的输入输出库函数时,使用编译预处理命令“#inclu ...
- Data Structure Graph: strong connectivity
如果为undirected graph就是dfs或者bfs,如果都能visit则为连通O(V+E). 如果为directed graph就先dfs或者bfs,再reverse direct,再dfs或 ...
- mysql管理工具之pt-heartbeat
之前我一直用Seconds_behind_master来衡量主从的延迟,今天看到文档,才觉得多么不可靠!以下是官方文档的描述: In essence, this field measures the ...
- 323 id与小数据池
a = 1000b = 1000print(a == b)== 比较的是数值is 比较的是内存地址.print(a is b)查看内存地址id()print(id(a))print(id(b)) 小数 ...
- 如何彻底禁止手机连接usb,代码实…【转】
本文转载自:https://blog.csdn.net/jun4331247/article/details/51201825 作为系统第三次被黑的修复方法,捯饬了半天,没效果,最后大神一出手,果然出 ...
- Blog迁移至Jekyll
后续的Blog都将在 http://zhwbqd.github.io/ 为您呈现