黑马程序员技术交流社区

标题: [石家庄校区]-异常类的处理 [打印本页]

作者: 毕业后八块腹肌    时间: 2018-11-20 15:43
标题: [石家庄校区]-异常类的处理
并发和并行

并发: (交替执行) 指两个或多个事件在"同一时间段内"发生

并行: (同时执行) 指两个或多个事件在"同一时刻"发生 (同时发生)


进程: 一个应用程序在内存中的一次执行过程


每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程 进程也是程序的一次执行过程,是系统运行程序的基本单位 系统运行一个程序即是一个进程从创建、运行到消亡的过程


每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程 进程也是程序的一次执行过程,是系统运行程序的基本单位 系统运行一个程序即是一个进程从创建、运行到消亡的过程




异常的两种处理方式

  throw    声明抛出,交给方法调用者处理

在方法内,try---catch--finally捕获并直接处理


异常: 指的是程序在执行过程中, 出现的非正常的情况, 最终会导致JVM的非正常停止

在Java中, 每种异常都有对应的"类"来描述. 发生了一个异常, 就是出现了这个异常类的"对象" 异常不是语法错误

throw制作异常

1. throw 必须写在方法的内部

2. throw 后面new的异常对象, 必须是 "Exception" 或 "Excetion的子类" 的对象

3. 一个方法内部 throw 了一个异常对象, 则该方法可以分为2种情况来处理该异常:

如果 throw 的是"运行时异常"(RuntimeException及其子类)对象, 那么可以不处理

该异常最终会交给JVM处理, 结果就是: 打印异常信息到控制台, 并立刻结束程序

如果 throw 的是"编译时异常"(Exception及其子类), 则必须处理:

处理方式1: throws 抛出

处理方式2: try...catch 捕获




格式: throw new 异常类名("异常原因字符串");

try,catch捕获异常

注意:

1. try 中可能会抛出多种异常, 就可以写多个 catch 分别处理每种异常

2. 如果 try 中产生了异常, 就会从产生异常的那一行代码直接跳转到对应的 catch 中执行处理代码, 然后 继续执行 try...catch 之后的其他代码; 如果 try 中没有产生异常, 那就不会执行 catch , 执行完 try 中 的代码后, 继续执行 try...catch 之后的其他代码


1. 多个异常分别 try...catch 处理
2. 一个 try 多个 catch
如果异常存在继承关系, 子类异常在上, 父类异常在下
3. 多个异常, 一次捕获一次处理 用Exception多态捕获
finally代码块

1. finally 必须和 try...catch 一起使用

2. finally 一般用于释放资源 (IO流时用到)













欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2