文档章节

JAVA学习笔记(初级)--异常处理

风见尘
 风见尘
发布于 2016/10/26 15:58
字数 487
阅读 15
收藏 0

1 异常类层次

java程序不能正常运行有两个原因:error和exception,即错误和异常,错误的排除需要程序员比较熟练去排除,所以重点是exception.由上图可知,每个异常类都是由Throwable派生出来的子类。Trowable的类的定义为:

public class Throwable extends Object{
     public Throwable();
     public Throwable(String message);
     public String getMessage();
     public String toString();
     public void printStackTrace();
}

2 异常的分类

按定义着划分:用户自定义异常,系统异常(初步接触不会涉及很多自定义异常,基本上都是用系统异常,所以暂时不做详细说明);

按处理方式来划分:运行时异常和非运行时异常。这是要重点把握的。

2.1 运行时异常:RuntimeException及其子类。运行时异常很多,所以不要求程序员抛出,捕获和处理,这些异常通常在java,lang包中,最典型的是ArrayIndexOutOfBoundsException,NullPointerException,ClassCastException.

2.2 非运行时异常:Exception的子类中除RuntimeException以外的异常,分别在java.io,java.awt,java.net包中,即IO异常,图形异常,网络异常。java要求对非运行时异常必须做抛出,捕获和处理

3 异常的抛出(非运行时异常和用户自定义异常)

3.1 直接抛出throw,抛出后直接接catch捕获进行处理

3.2 间接抛出throws,语句接在方法的声明之后,抛出后并不立即处理,交给上层调用的方法去处理。

4 异常的捕获与处理

try-catch语句,耳熟能详了就不再讲,一个try可以有多个catch,即多异常捕获。

try-catch-finally中,如果无异常则执行顺序:try中代码,finally中代码;若果有捕获到异常,则catch中的代码,finally中的代码。即finally总会执行。

 

© 著作权归作者所有

风见尘
粉丝 11
博文 15
码字总数 25205
作品 0
武汉
程序员
私信 提问
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
干货系列1:Java互联网网站开发工程师 的技术提高与晋升路线(技术专精)

前几天写了自己对于Java软件开发工程师职业发展规划方面的一些感悟,陆续收到一些反馈,希望我能再就Java工程师不同的开发(职责)方向谈谈职业发展问题。(上一篇:Java软件开发工程师的自我...

半饱即好
2018/06/26
0
0
一起来学大数据|为何学习大数据,要先学Java?之茅塞顿开

大数据的就业、工资的水平等等方面都让更多的人投身进入到学习大数据的旗下。 只要你对大数据有兴趣、有精力、敢于尝试,依旧可以开拓出自己的一片天! 其实,我们也不难发现,在外面报班学习...

董黎明
04/07
0
0
JavaEE程序员必读图书大推荐

下面是我根据多年的阅读和实践经验,给您推荐的一些图书: 第一部分: Java语言篇 1 《Java编程规范》 星级: 适合对象:初级,中级 介绍:作者James Gosling(Java之父),所以这本书我觉得...

长平狐
2012/11/12
1K
0
[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱?

[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱? 曾经的我经常害怕处理与JVM相关的异常,对JVM的配置参数也一无所知,那时候我天真地认为,JVM的出现本身就是想让程序员屏蔽实现细节,...

原创小博客
2018/07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

抽离css以及公共js

分离css 分离css:为何要把 CSS 文件分离出来,而不是直接一起打包在 JS 中。最主要的原因是我们希望更好地利用缓存。 extract-text-webpack-plugin > 1. 假设我们原本页面的静态资源都打包成...

莫西摩西
37分钟前
0
0
面向对象的7大原则

https://blog.csdn.net/u010355144/article/details/44940171

南桥北木
56分钟前
1
0
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用

Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的。 如何设置才能让出来呢? 1:打开"系统管理"——"Configure Global Sec...

shzwork
今天
2
0
BAT面试必问HashMap源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈...

别打我会飞
今天
6
0
RISC-V双周简报0x1f:一晚上写个RISC-V处理器玩玩(2018-09-01)

https://cnrv.io/bi-week-rpts/2018-09-01 https://blog.csdn.net/zoomdy/article/details/82914730...

whoisliang
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部