zoukankan      html  css  js  c++  java
  • 201671010140. 2016-2017-2 《Java程序设计》java学习第九周

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

          本周,进行了对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的异常处理机制,使得程序更好维护,如果掌握好这部分知识,熟练运用,无疑会成为我们编译程序的帮手。

     

     

  • 相关阅读:
    [转]按照HashTable动态设定类的属性和字段
    Enterprise Library 3.0 January 2007 CTP 数据访问程序块 _ 图解配置
    用Ad和windsor重构Portal
    ActiveRecordBase借助NHibernate的条件获取实体类对象
    Enterprise Library 3.0 January 2007 CTP 数据访问程序块 _ 系统自带链接字符串加密
    VS2005 SP1时因为安全策略而安装失败!
    [转]ASP.NET 2.0 的内部变化
    VB.NET 实现动态数组
    Making plain binary files using a C compiler (i386+)
    迭代器的使用方法简要介绍(摘自C++Primer)
  • 原文地址:https://www.cnblogs.com/xiangwenjun-1998/p/7710844.html
Copyright © 2011-2022 走看看