第七章:《异常,断言和日志》知识点小结

      本周,进行了对Java中的异常处理的了解学习,以下是部分所得。

一.未检查异常与已检查异常的区别:

未检查异常处理方法:1、捕获2、继续抛出3、不处理。

已检查异常处理方法:1、继续抛出,消极的方法,一直可以抛到java虚拟机来处理     

                                     2、用try...catch捕获(注意,对于检查的异常必须处理,或者必须捕获或者必须抛出。

       try-catch语句还可以包括第三部分,就是finally子句。它表示无论是否出现异常,都应当执行的内容。捕获异常的最后一步是通过finally语句为异常处理提供一个统一的出口,使得控制流程在转到程序其它部分以前,能够对程序的状态做统一的管理。

二:对异常的处理

积极处理方式;确切知道如何处理的异常应该捕获;

消极处理方式:不知道如何去处理的异常声明抛出。

如果说try-catch是异常事件的积极处理方式,那么throws就是消极处理方式。

(1)一个try区块可以搭配多个catch区块,但catch的排列有一定规则,这跟catch小括号内的异常类有关系。倘若各个catch内的异常类有继承关系,则子类要排在前,父类排在后;若没有继承关系,则自由排列。

(2)如果有段程序code不论是否发生异常,都希望被执行,则可以将code放在finally block内,但是finally区块不能单独存在,必须搭配try-catch使用

三:断言

         断言(assert)语法如下: 1、assert 条件 或者 2、assert 条件:表达式 这两个形式都会对布尔“条件”进行判断,如果判断结果为假(false),说明程序已经处于不正确的状态下,系统则抛出AssertionError,给出警告并且退出。在第二种形式中,“表达式”会传入AssertionError的构造函数中并转成一个消息字符串。在程序运行时,如果关闭了断言功能,程序中的断言语句将不起任何作用。如果打开了断言功能,那么断言条件的值将被计算,如果它的值为false,该语句强抛出一个AssertionError对象。打开方法在实验课上已经掌握(-ea)、

       本周的异常处理学习,在课前自学时,其实理解的并不是很清晰,比如断言,单纯看它的语法,我只是简单把它理解为了一种别样形态的if条件语句,assert语句后的表达式相当于if条件后的执行语句;同时,try-catch也是异曲同工,在课堂深入学习后,对它们有了更深的了解,再结合老师在实验课上带领我们学习的一些例题程序,我尝试在一些存在着异常的程序中,修改代码,使得程序正常运行,从以前的看例题,到现在尝试改动例题,我在小小进步,也希望以后会更好。

java的异常处理机制,使得程序更好维护,如果掌握好这部分知识,熟练运用,无疑会成为我们编译程序的帮手。

201671010140. 2016-2017-2 《Java程序设计》java学习第九周的更多相关文章

  1. 《JAVA程序设计》_第九周学习总结

    一.学习内容 1.数据库的建立.配置 在官网先下载好MySQL.navicat for MySQL.XAMPP.MySQL-connecter 在XAMPP中点击start开启MySQL 在navic ...

  2. 20145206邹京儒《Java程序设计》第7周学习总结

    20145206 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1.1 时间的度量 ·即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix ...

  3. 20145206邹京儒《Java程序设计》第5周学习总结

    20145206 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 8.1 语法与继承架构 package CH5; /** * Created by Administrato ...

  4. 20145337《JAVA程序设计》第七周学习总结

    20145337 <Java程序设计>第七周学习总结 教材学习内容总结 时间的度量 格林威治时间GMT,世界时UT,国际原子时TAI,世界协调时间UTC 就目前来说,即使标注为GMT,实际 ...

  5. 20145317彭垚 《Java程序设计》第7周学习总结

    20145317彭垚 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1.1 时间的度量·即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Uni ...

  6. 20145317彭垚 《Java程序设计》第5周学习总结

    20145317彭垚 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 8.1 语法与继承架构 package CH5; /** * Created by Administra ...

  7. 《Java程序设计》第五周学习总结

    20145224 <Java程序设计>第五周学习总结 教材学习内容总结 第八章异常处理 8.1.1使用try.catch ·教材范例用户连续输入整数,输入0结束后显示输入数的平均值(代码如 ...

  8. 《Java程序设计》第三周学习总结

    20145224-陈颢文 <Java程序设计>第三周学习总结 教材学习内容总结 一.定义类: ·类定义时使用class关键字,要对类中变量(值域成员/对象数据成员)行类型声明. class ...

  9. 《Java程序设计》第7周学习总结

    学号20145220<Java程序设计>第7周学习总结 教材学习内容总结 12.1认识Lambda语法 12.1.1Lambda语法概览 在java中引入了Lambda的同时,与现有API ...

  10. 20145129 《Java程序设计》第8周学习总结

    20145129 <Java程序设计>第8周学习总结 教材学习内容总结 NIO NIO使用频道(channel)来衔接数据节点,对数据区的标记提供了clear(),rewind(),fli ...

随机推荐

  1. 《DSP using MATLAB》示例 Example 6.14、6.15

  2. 顺丰品牌研究http://www.kiees.cn/sf/express/brand.htm

    顺丰控股股份有限公司,顺丰速运SF,始于1993年,国内速递行业中民族品牌的佼佼者,以其速度快/安全性能高蜚声业界,现已开通海外快递服务,2017年2月完成借壳上市 1993年,顺丰诞生于广东顺德.自 ...

  3. 13 Stream Processing Patterns for building Streaming and Realtime Applications

    原文:https://iwringer.wordpress.com/2015/08/03/patterns-for-streaming-realtime-analytics/ Introduction ...

  4. asciidoctor 安装试用

    备注:    asciidoctor 是asciidoc 的增强,使用简单,模板比较丰富,对于持续集成方面的开发也是一个不错的工具   1. 安装 a. 环境准备 MRI Ruby 1.8.7, 1. ...

  5. maven docker plugin 常见问题解决

    1. maven 项目必须使用小写,不然会一直有500 的错误    500: HTTP 500InternalServerError     2. docker server  连接数超了 Fail ...

  6. spring cloud feign 接口继承以及参数传递的问题

    1. 优势     可以使用maven 进行访问,实现代码的共享,减少跨服务调用服务编写的问题   2. 使用      定义接口 publicinterfaceIUserService{ @Requ ...

  7. jsp_include

    jsp__include指令先包含后编译 include 行为 先编译后包含 <jsp:include page="head.jsp"></jsp:include ...

  8. PostgreSQL编译安装

    PostgreSQL编译安装 安装语言包 ### PostgreSQL 初始化过程中,会读取操作系统字符编码, ### 若程序需要使用zh_CN.utf-8字符编码,需要在PostgreSQL 初始化 ...

  9. wdlinux中apache配置反向代理模块

    想要在.htaccess中开启反向代理功能都不行[apache中没有mod_proxy模块] .htaccess 文件内容如下 RewriteEngine On RewriteBase / Rewri ...

  10. Cannot read property 'setState' of undefined

    You're using function() in your Promise chain, this will change the scope for this. If you're using ...