20145230 《Java程序设计》第5周学习总结

教材学习内容

本周主要学习的内容是关于异常处理的,感觉这部分内容对我们这种初学者
来说非常重要。举个例子,倘若你在编写一个Java程序的时候,编译发生错误,提示了你一堆看不懂的东西,这时自己肯定会慌了手脚,不知道怎么处理这种状况。而这章的目的我认为就在于教会我们如何处理一些Java编程中的异常情况。首先,我知道了try与catch的运用方法:JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是,就执行catch中程序代码。简而言之,有了try和catch为我们的代码保驾护航,我们即使犯了错误,Java也能更加友好地给我们显示出来。然后,书上讲到了异常继承结构。我的理解是:如果编程时遇到了Error,那就代表我们严重系统错误。在Error对象抛出时,我们基本不用处理。而对于程序本身的错误,我们要使用Exception或其子类来实现。我们在操作对象的过程中如果会抛出受检异常,但目前环境信息不足以处理异常,无法用try和catch处理时,客户端可以依据当时的环境信息进行处理,当然,异常处理也会给我们的程序编写带来一定的麻烦,因为有些错误我们根本无从下手解决。对于finally,在英文上面,它可以理解为最后的意思,在Java中,它可以与try、catch搭配使用,无论try区块中有无异常,若攥写有finally区块,则finally区块一定会执行。我们在使用throw重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。如果想要让异常堆栈起点为重抛异常的地方,可以使用fillInStackTrace(),这个方法会重新装填异常堆栈,将起点设为重抛异常的地方,并返回Throwable对象。

教材学习中的问题和解决过程

在学习异常继承架构的时候,书上有这样一个问题我不明白:为什么不能
int ch=System.in.read();
为什么我们一定要处理java.io.IOException。书上的解释是编译程序认为调用System.in.read()时有可能发生错误,要求你一定要在程序中明确处理错误。为什么我们一定要明确处理错误呢?我很不明白。
通过看书,我了解到。IOException是Exception的子类,所以编译程序要求我们明确适用于法加以处理。受检异常存在的目的,在于API设计者事先某方法时,某些条件成立时会引发错误,而且认为调用方法的客户端有能力处理错误,要求编译程序提醒客户顿必须明确处理错误,不然不可以通过编译,API客户端无权选择要不要处理,这应该就是问题的根因所在。

代码调试中的问题和解决过程

遇到了如下的问题:

后来我通过看书才知道:这是因为这个程序已经超出了JVM的内存空间,自然就会报出Error了,因此对于Error对象抛出时,基本上不用处理,任其传播至JVM为止。

本周代码托管截图

其他(感悟、思考等,可选)

本周学习了Java自己最大的收获就是知道了一些Java程序编写中异常处理的办法,例如什么try、catch什么的,什么throws,还有堆栈追踪。感觉学了这一章后,虽然自己仍然是一头雾水,但我知道了一些
基本的东西,也应该能在以后的Java编程中处理一些简单的错误。我们学习了这么章的知识,看上去好像自己学了很多东西,实际上并没有,想要把Java知识充分学透,感觉还是要不停不停敲代码,日复一日地敲代码。反正学习并没有什么途径,就是不停地为之奋斗,一直坚持下去,才能做到精通一门儿语言。学Java不能靠一时的兴趣,而需要我们不停地探索,才能有一定的收获。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 2000 行 25篇 400小时
第一周 100/100 2/2 20/20
第二周 100/200 2/4 20/40
第三周 50/250 1/5 20/60
第四周 564/814 2/7 30/90
第五周 623/1437 1/8 30/120 了解到了程序中的异常处理

参考资料

20145230《Java程序设计》第5周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

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

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

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

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. 关闭数据库时SHUTDOWN: waiting for active calls to complete.处理

    有时候在关闭数据库时,发出shutdown immediate;命令后一直未关闭.查看ALERT日志.在等待一段时间后日志中有提示: SHUTDOWN: waiting for active call ...

  2. ASP.NET动态网站制作(30)-- WEBService

    前言:继续讲正则表达式,然后介绍一下webservice. 内容: 1.匹配QQ号的正则表达式:^[1-9]\d{4,10}$:匹配手机号的正则表达式:^(0|86)?(13|14|15|18)[0- ...

  3. 远程连接windows时剪贴板失效解决方法

    1:打开任务管理器2:找到结束进程rdpclip,找不到可以不管.3:手工新建任务里输入rdpclip,运行即可.

  4. MathType公式行距设置的方法

    在使用普通的文档编辑器编辑数学公式的时候,大家会发现一些数学上特殊的符号.公式很难给编辑出来,有时候就算编辑出来了也不符号一些学术的规范.这个时候就可以使用MathType这款公式编辑器来编辑.但是在 ...

  5. PYTHON MYSQL 的表创建和插入

    import mysql.connector cnx = mysql.connector.connect(user='xx',password='xx++.',host='139.107.11.166 ...

  6. PHP实现自己活了多少岁

    1.mktime()函数的功能 2.代码: $birth = mktime(0,0,0,10,2,1992);//出生的时间戳 $time = time();//当前的时间戳 $age = floor ...

  7. 第11章 Docker Registry 相关问题

    11.1 我 docker push 的时候怎么报 authentication required 错误? 因为你没有登录.如果是向 Docker Hub 推送镜像,需要在注册一个用户: https: ...

  8. VS2008试用版到期解决办法----win7下VS2008升级补丁.zip

    打开好久没用的Visual studio 2008,才知道试用版已经到期了.在网上找来了序列号,可是连一个输入序列号的地方都没有,困惑了好久,终于找到了解决办法. 首先献上自己收集的Visual st ...

  9. jqGrid 事件

    jqGrid 事件 使用方法 var lastSel; jQuery("#gridid").jqGrid({ ... onSelectRow: function(id){ if(i ...

  10. block 块 partition 划分

    w 龚升