韩顺平循序渐进学Java零基础 第12章 异常
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了韩顺平循序渐进学Java零基础 第12章 异常相关的知识,希望对你有一定的参考价值。
第12章 异常
444. 异常处理入门
445. 异常基本介绍
- 执行过程中发生异常事件可分为两大类
- Error(错误):Java 虚拟机无法解决的严重问题,如 JVM 系统内部错误、资源耗尽等严重情况
- Exception(异常):其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理;分为编译时异常和运行时异常
446. 异常体系图
447. 五大运行时异常
448. 异常课堂练习
449. 异常处理机制
- 处理了异常,程序继续执行,若有可能抛出异常未处理,则由 JVM 打印异常信息后退出程序
450. try-catch
451. try-catch练习
public int method()
int i = 1;
try
i++;
String[] names = new String[3];
if (names[i].equals("lcx"))
return i;
catch (NullPointerException e)
return ++i;
finally
// return result: 4
return ++i;
public int method1()
int i = 1;
try
i++;
String[] names = new String[3];
if (names[i].equals("lcx"))
return i;
catch (NullPointerException e)
// return result: 3
return ++i;
finally
++i;
- 如果出现异常,则 try 中发生异常语句后的语句不再执行
452. try-catch最佳实践
453. throws入门案例
- 如果一个方法中的语句执行时可能生成某种异常,但不能确定如何处理这种异常,则可以在方法声明处显式地抛出异常,由调用者自行处理
454. throws使用细节
- 编译异常必须处理,对于运行时异常,如不处理则默认 throws
- 子类重写父类的方法时,子类抛出异常的类型要么和父类抛出的一致,要么只能是父类抛出异常的子类
455. 自定义异常
- 如果继承 Exception,则属于编译异常,必须显式处理或抛出
- 如果继承 RuntimeException,则属于运行时异常,可以默认 throws 处理,较为方便
456. throw VS throws
意义 | 位置 | 抛出内容说明 | |
---|---|---|---|
throws | 异常处理的一种方式 | 方法声明处 | 异常类型 |
throw | 手动生成异常对象 | 方法体中 | 异常对象 |
457. 课后作业1
458. 课后作业2
459. 异常处理小结
以上是关于韩顺平循序渐进学Java零基础 第12章 异常的主要内容,如果未能解决你的问题,请参考以下文章