【11-Ⅰ】Head First Java 学习笔记

HeadFirst Java

本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。

第一章 Java入门
第二章 面向对象
第三章 变量
第四章 方法操作实例变量
第五章 程序实战
第六章 Java函数库
第七章 继承与多态
第八章 深入多态
第九章 构造器与垃圾收集器
第十章 数字与静态
第十一章 异常处理


前言

七八九章是Java中较新的知识点,这部分也是区别于C比较有趣的地方!建议大家多多回顾。不多废话,我们进入今天的正题。异常处理,也是Java中比较新的内容。
啥是异常?程序出现异常情况呗!你在想不对啊,编译器不是已经保证程序的正确性了吗?其实通过前文的学习我们知道,编译器保证的是编译期的一些安全问题,比如类型安全问题。在JVM运行期,还是会有其他错误、异常的。有些错误异常来自程序错误,在开发阶段我们就可以避免(数组越界),有些则得编写异常处理程序,比如预期某些文件在特定目录,但实际执行时,又找不到文件?

异常处理说的是:我们无法保证程序不会有异常,当在编写可能有异常的方法时,我们需要有处理异常状况的程序。接下来通过创建一个MIDI音乐播放器来介绍这一部分。这一直涉及到本章与后续两章内容!当然对于这一部分,我并不重点学习,对于本书,更侧重Java基础的学习,项目相关的API只做了解。
本章分为两小节介绍~
以下是第一小节。

开始

JavaSound API
Sequencer类

调用有风险的方法(可能是别人写的,也可以是自己写的)

异常处理机制:预先将处理错误情况的代码放在合适的位置。当然拟得先知道要调用的方法可能会产生异常
那么如何知道呢?——看方法的声明,会带有throws XXX

编写有风险方法的程序员,要考虑方法执行期间可能出问题,必须声明调用的风险(可能抛出的异常)

try/catch块
告诉编译器你知晓风险,并且做好准备了,编译器就会放心通过!

Exception类
在这里插入图片描述

在这里插入图片描述

编译器核对

1.如果抛出异常,必须throw声明
2.调用抛出异常方法,必须确定你知晓,即使用try/catch块

不检查异常:即编译器不会核对的异常,如RuntimeException的子类。你可以自己抛出与抓住,但没必要,编译器不管!
因为该类异常都是因为程序的逻辑问题,人可以确保程序避免这些问题,如数组越界,调用空指针对象等。但是那些找不到文件、服务器崩溃的异常咱们人没法保证不遇到!
try/catch块 用来处理真正的异常,而不是处理你的逻辑错误!它做的事是尝试恢复,至少是优雅的列出错误!

要点小结

throw new xxxEXception();//方法可以抛出异常对象
void xxx() throws Exception //方法声明异常
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值