# Java基础之异常 **Repository Path**: fpfgitmy_admin/java-base-exception ## Basic Information - **Project Name**: Java基础之异常 - **Description**: java异常的描述 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-28 - **Last Updated**: 2021-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 异常 + Java程序在执行过程中所发生的的异常事件可分为两类: + Error:Java虚拟机无法解决的严重问题。 + Exception:其他因边编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。 + 异常又分为编译时异常和运行时异常 + 异常处理方式有`throws`和`try-catch-finally`、`throw`、`try-catch`两种方式 + throw的方式 1. throw + new 异常类型,在方法中抛出异常,遇到此异常方法将不再执行,使用此方法异常将继续向上抛出 + try-catch-finally、try-catch的方式 1. 可使用finally进行修饰,表示最终会执行里面的代码 2. 使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型,去catch中进行匹配 3. 一旦try中的异常对象匹配到某一个catch时,就进入catch中进行异常的处理,一旦处理完成,就跳出当前的try-catch结构,继续执行其后的代码 4. catch中的异常类型如果没有子父类关系,则谁声明在上,谁声明在下无所谓。catch中的异常类型如果满足子父类关系,子要求子类一定声明在父类的上面,否则报错 5. 常用的异常对象的处理方式①: String e= getMessage();②:printStackTrace(); + finally的使用 1. finally中的代码最终会被执行,即使出现了异常 2. 常用作关闭一些IO流、数据库连接、Socket等 3. try-catch结构可以相互嵌套 + 在开发中编译时异常通常使用try-catch处理,运行时异常通常使用throw处理 #### 自定义异常 + 继承现有的异常结构 + 添加序列号,表示这个类独一份(两台机器使用同样的类的时候)