异常概述

异常处理------基本概念

当出现程序无法控制的外部环境问题(用户提供文件不存在,文件内容损坏,网络不可用……)时,Java中2种异常处理异常

00.在方式异常处理异常

01.将异常抛给调用者,让调用者处理

异常分类

00.检查性异常:java.lang.Exception.

01.运行期异常:java.lang.RuntimeException.

02.错误java.lang.Error.

顶层是java.lang.Throwable类。检查性异常,

运行期异常.错误都是这个类的子孙类,java.lang.Exception和java.lang.Error继承自java.lang.Exception.

检查性异常:

程序正确,但因为外界在的环境条件不足引发,例如:用户错误及i/o问题——程序试图打开一个并不存在的远程socket端口或者是打开不存在的文件时,这不是程序本身的错误,而很可能是远程机器名字错误(用户拼音写错误)对商用软件系统,程序开发者必须考虑并处理这个问题,Java编译器强制要求处理这个类异常,如果不捕获这个异常,程序将不能被编译。

运行期异常:

意味着程序在bug,如数组越界,被除,入参不满足规范……这类异常需要更改程序被避免,java编译器强制要求处理这类异常。

错误:一般很少见,也很难通过程序解决,它可能源于程序的bug,但一般更可能源于环境问题.如内存内存消耗殆尽,错误在程序中无需处理,而由运行环境来处理。

try……catch:

00.程序运行产生异常时,将从异常发生点中断程序并向外抛出异常信息。

01.将异常抛给调用者,让调用者处理异常。

异常处理:

finally

如果把finally块置try……catch语句后,finally块一般都会得到执行,它相当于一个万能的保险箱,即使前面的try块发生异常,而又没有对应异常的catch块,finally块将马上执行。

以下情形,finally块不会被执行!

00.finally块中发生了异常

01.程序所在的线程死亡,

02.在前面的代码块中用了System.exit();

03.关闭cup。

 

                                                                                                                                                     

java异常处理机制:

保证程序出现异常情况以后,能继续执行后续代码!

 

posted @ 2017-08-27 14:09  作巴  阅读(168)  评论(0编辑  收藏  举报