10.14号关于异常的上课实践报告

 

异常发生于程序执行期间,表明出现了一个非法的运行状况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。 

异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。
异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运

首先运行P10的Java文件

 

了解到Exception是所有异常类的超类,int为0时不能作为除数,否则会出现上方的异常。

try代码块执行可能会出错的代码,当捕捉到异常时,会自动跳转到catch代码块,执行异常的处理,最后finally的语句一定会被执行。

Throwable类有两个直接子类Exception和Error

可捕获的异常分为Check异常和Runtime异常,用throw语句可以抛出这种异常对象。

assert [boolean 表达式],其次使用assert断言语句时,

如果[boolean表达式]为true,则程序继续执行。如果为false,则程序抛出AssertionError,并终止执行。

div为无符号除法,idiv为有符号除法
idiv进行的是128 / 64位除法,即被除数为128位、除数为64位。一个浮点数除以0不会报错,返回为Infinity,翻译过来就是无穷大。

try代码块后面可以接多个catch语句,每个catch捕获一个异常,不能有两个相同的异常类型。

将catch(Exception e)放在别的catch块前面会使这些catch块都不执行,因此Java不会编译这个程序。

P26代码执行

 

 p27代码执行

 

 p28代码执行

 

 对于try语句内部嵌套try语句,执行完内部的try catch语句,不会向外层的try-catch语句抛出异常,继续按照顺序执行。

p29代码执行

 

finally语句不一定会执行,若在catch语句强制退出exit(0)则不会执行finally语句。

 

 

二、进一步深入学习

1.throws语句的作用

throws语句表面某个方法的内部代码存在异常,但自己不能处理异常,需要由调用者来处理,或者在方法体中用try-catch语句来捕捉异常。

异常主要分为受控异常和不受控异常,顾名思义,受控异常在执行之前就会告诉报错了,而不受控异常,比如数组越界编译期间不会告诉。

当一个方法声明抛出多个异常,在此方法调用语句处,只要catch其中任何一个异常,代码就可以正常编译。

 

 

 在Java7之后的版本,在catch语句内部可以捕获多个异常,比如IOExpection |  OutofMemoryExipetion.

 

 

 

 

 

三、自定义异常与异常处理链

 P43代码执行

 

Java异常处理的目的是提高程序的健壮性,你可以在catch和finally代码块中给程序一个修正机会,使得程序不因异常而终止或者流程发生以外的改变。同时,通过获取Java异常信息,也为程序的开发维护提供了方便,一般通过异常信息就很快就能找到出现异常的问题(代码)所在。

  Java异常处理是Java语言的一大特色,也是个难点,掌握异常处理可以让写的代码更健壮和易于维护。

通用异常

  • JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerException 类,ArrayIndexOutOfBoundsException 类,ClassCastException 类。
  • 程序级异常:由程序或者API程序抛出的异常。例如 IllegalArgumentException 类,IllegalStateException 类。
posted @   -她的梦-  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
  1. 1 碧天伴走 MyGO!!!!!
  2. 2 影色舞 MyGO!!!!!
  3. 3 詩超絆 MyGO!!!!!
  4. 4 迷路日々 MyGO!!!!!
  5. 5 歌いましょう鳴らしましょう MyGO!!!!!
  6. 6 壱雫空 MyGO!!!!!
歌いましょう鳴らしましょう - MyGO!!!!!
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : メガテラ・ゼロ

作曲 : メガテラ・ゼロ

编曲 : Mr.FanTastiC

鑑賞用の花のように遠くで 私 見てるだけでいいのかい?

相対して育つ感情をまだ私は見つけてはいないのね

いつでも側にあって気づかない

いつでも側にあって気づかない

この気持ち想いに気づけない

だから少しボリュームを上げるの

始まりの音を

さぁ 歌いましょう?

さぁ 歌いましょう?

不安すらも喜びも思い出も

さぁ 鳴らしましょう?

それが音楽ってもんでしょう?

感情表明この気持ちを歌うのを聴いてくれますか?

感情表明この気持ちを歌うのを聴いてくれますか?

この人生もきっとメロディーにのせればマシに聞こえるでしょう

だから聴いて

だから聴いて

ねぇ

ねぇ

いつでも側にあって気づかない

いつでも側にあって気づかない

この気持ち想いに気づけない

だから少しボリュームを上げるの

始まりの音を

始まりの音を

さぁ 歌いましょう?

さぁ 歌いましょう?

不安すらも喜びも思い出も

さぁ 鳴らしましょう?

それが音楽ってもんでしょう?

さぁ 歌いましょう?

さぁ 歌いましょう?

不安すらも喜びも思い出も

さぁ 鳴らしましょう?

それが音楽ってもんでしょう?

人生ってもんでしょう

点击右上角即可分享
微信分享提示