计算程序存活的潜在条件
异常是指这种运行条件的缺失
计算程序“存活”有一定的条件假定,当这些条件不被满足时,程序就会“挂起”——执行不下去而退出; 这种运行的基本条件对于高级语言程序则更具多样性,因为它是逻辑复杂的,而不是物理的; 所以,理论上,「程序任何一处」的的执行都会因条件缺失而产生“异常”,导致程序退出;
异常的抽象级
大至分类硬件级和软件级异常 Exception handling can be performed at both the software (as part of the program itself) and hardware levels (using mechanisms built into the design of the CPU). 软件级异常处理,是对硬件(CPU)异常处理的抽象封装
异常是软件错误的一种——逻辑错误类别之中
错误是指导致系统不能按照用户意图工作的一切原因、事件。 程序错误类型主要有语法错误、语义错误和逻辑错误,其中,语法错误和逻辑错误能通过编译器发现,逻辑错误只能由编程人员通过比对结果和设计方案发现错误并处理。
逻辑错误
逻辑错误是指程序的运行结果和程序员的设想有出入时产生的错误。这类错误并不直接导致程序在编译期间和运行期间出现错误,但是程序未按预期方式执行,产生了不正确的运行结果,较难发现。
异常是逻辑错误类别的某一种
计算过种产生运行条件的缺失,例如除以0,IO文件不存在不可用等
异常处理
编程环境提供的特殊的API,特殊的编程任务
自定义异常
异常已经不容易理解,再加一个可自己抛出异常(throw)? 那是因为,在工程项目中,你常常需写中间件,提供自己另一个模块,或他们使用。对原始的异常进行包装(提供更丰富异常信息),或者自定义异常(运行条件定义),都是可以理解的。