首页 > 其他分享 >第五讲 异常处理 课后总结

第五讲 异常处理 课后总结

时间:2022-11-04 14:24:46浏览次数:37  
标签:总结 语句 Exception 处理 捕获 第五 课后 catch 异常

主要内容:

1.Java异常处理基础

 

2.“受控(checked)”的异常

 

3.自定义异常与异常处理链

 

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

例如:数组越界和被0除。

 

 

异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。

异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运行。

 

 

 

 

Java中的异常捕获语句

Try{

//可能发生运行错误的代码;

}

catch(异常类型 异常对象引用){

//用于处理异常的代码

}

finally{

//用于“善后” 的代码

}

 

Java 中所有可捕获的异常都派生自 Exception 类

 

使用Java异常处理机制

把可能会发生错误的代码放进try语句块中。

当程序检测到出现了一个错误时会抛出一个异常对象。

异常处理代码会捕获并处理这个错误。 catch语句块中的代码用于处理错误。

当异常发生时,程序控制流程由try语句块跳转到catch语句块。

不管是否有异常发生,finally语句块中的语句始终保证被执行。 如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

 

 

Java中的异常分类

Throwable类有两个直接子类:

Exception:出现的问题是可以被捕获的;

Error:系统错误,通常由JVM处理。

可捕获的异常又可以分为两类:

(1)Check异常:直接派生自Exception的异常类,必须被捕获或再次声明抛出

(2)Runtime异常:派生自RuntimeException的异常类。使用throw语句可以随时抛出这种异常对象: throw new ArithmeticException(…);

 

异常的“多态”特性

可以有多个catch语句块,每个代码块捕获一种异常。

在某个try块后有两个不同的catch 块捕获两个相同类型的异常是语法错误。

使用catch语句,只能捕获Exception类及其子类的对象。

因此,一个捕获Exception对象的catch语句块可以捕获所有“可捕获”的异常。

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

 

 

 

 

throws语句

throws语句表明某方法中可能出现某种(或多种)异常,但它自己不能处理这些异常,而需要由调用者来处理。

当一个方法包含throws子句时,需要在调用此方法的代码中使用try/catch/finally进行捕获,或者是重新对其进行声明,否则编译时报错。

受控与不受控的异常

throws语句中声明的异常称为受控(checked)的异常,通常直接派生自Exception类。 RuntimeException(其基类为Exception) 和Error(基类为Throwable)称为非受控的异常。

这种异常不用在throws语句中声明。 CheckedExceptionDemo.java示例展示了上述两种异常的特性。

标签:总结,语句,Exception,处理,捕获,第五,课后,catch,异常
From: https://www.cnblogs.com/sion6/p/16857612.html

相关文章

  • 【java技术总结】Java-9中List.of()和Arrays.asList()的区别及原因分析
    1.List.of()和Arrays.asList()的区别?List.of()不可以插入null,Arrays.asList()可以。List.of()生成的List不可以修改,Arrays.asList()可以。List.of()原数组修改不会影响......
  • 第五章26
    【题目描述】 键盘输入一段英文,输出其中的单词个数。 【输入】 一段英文单词 【输出】 单词的个数 【样例输入】 IloveChinaandthepeople↙ ......
  • 第五章23
    【题目描述】 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 【输入】 第......
  • 第五章24
    【题目描述】 一个马戏团表演, n 个座位全满,全部门票收入是 120 元,现在知道,男人每人 5 元,女人每人 2 元,小孩每人 1 角。根据总人数,计算出男人、女人和小孩各多......
  • 第五章25
    【题目描述】 爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶。若每步跨6阶,则最后剩下5阶。只有每步......
  • 第五章21
    【题目描述】 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3......
  • 第五章22
    【题目描述】 今年老王家的苹果丰收了,为了能卖个好价钱,老王把苹果按直径大小分等级出售。这么多苹果如何快速的分级,可愁坏了老王。现在请你编写一个程序来帮助老王模拟......
  • 第五章20
    【题目描述】 编写程序,从键盘输入整数 n,求 e 的值。e=1+1/1!+1/2!+1/3!+..+1/n!。注意:用double 型数据计算。 【输入】 一个整数n。 【输出】 e的值,结......
  • 第五章19
    【题目描述】求π的近似值。利用级数公式: 1+1/22+1/32+1/42+1/52+......=π2/6,当数列的最后一项小于10的-6次方为止,输出π值,小数点后保留6位有效数字。【输入】无【输......
  • 第五章18
    【题目描述】 如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。输入一个正整数n,输出n以内的全......