邓修明调研成都网站建设,自己做的网站能被百度收录吗,手机麻将app制作开发,销售课程视频免费1. Java的异常概念
1.1 异常体系结构 从上图中可以看到#xff1a; 1. Throwable#xff1a;是异常体系的顶层类#xff0c;其派生出两个重要的子类, Error 和 Exception 2. Error#xff1a;指的是JVM无法解决的严重问题#xff0c;比如#xff1a;JVM的内部错误、资源…1. Java的异常概念
1.1 异常体系结构 从上图中可以看到 1. Throwable是异常体系的顶层类其派生出两个重要的子类, Error 和 Exception 2. Error指的是JVM无法解决的严重问题比如JVM的内部错误、资源耗尽等典型的代表StackOverflowError和OutOfMemoryError一旦出现无法回天3. Exception异常产生后程序员可以通过代码进行处理使得程序可以继续运行。
1.2 异常分类 编译时异常 在编译期间发生的异常称为编译时异常也叫作受检查异常在编写代码的时候就需要进行处理要么try catch 或者throws
2. 异常处理
2.1 防御式编程
事前防御 -- if else 缺陷正常流程和错误处理流程代码混合在一起代码整体显的十分复杂事后认错 -- throw try catch 优势正常流程和错误流程是分离开的 , 程序员更关注正常流程代码更清晰容易理解代码
2.2 异常抛出 -- throw 如果程序中出现错误此时就需要将错误的信息告知给调用者比如参数检测。 具体语法如下 throw new XXXException ( 异常产生的原因 ); throw必须写在方法内部抛出的对象必须是Exception 或者 Exception 的子类对象如果抛出的是 RunTimeException 或者 RunTimeException 的子类则可以不用出直接交个JVM来处理。如果抛出的编译时异常用户必须处理否则无法通过编译异常一旦抛出其后的代码就不会执行
2.3 异常的捕获 -- throws try-catch
2.3.1 异常声明 throws 当前方法不处理异常提醒方法的调用者处理异常 。 语法格式 修饰符 返回值类型 方法名 ( 参数列表 ) throws 异常类型 1 异常类型 2 ...{ } 1. throws必须跟在方法的参数列表之后 2. 声明的异常必须是 Exception 或者 Exception 的子类 3. 方法内部如果抛出了多个异常throws之后必须跟多个异常类型之间用逗号隔开如果抛出多个异常类型 具有父子关系直接声明父类即可。 4. 调用声明抛出异常的方法时调用者必须对该异常进行处理或者继续使用throws抛出 异常的处理方式
System.out.println(e.getMessage()); // 只打印异常信息 System.out.println(e); // 打印异常类型异常信息 e.printStackTrace(); // 打印信息最全面
2.3.2 finally 关键字 异常会引发程序的跳转可能 导致有些语句执行不到finally就是用来解决资源回收问题的 注意 finally 中的代码一定会执行的一般在 finally 中进行一些资源清理的扫尾工作。 3. 自定义异常类 需要的步骤 1. 自定义异常类然后继承自Exception 或者 RunTimeException 2. 实现一个带有String类型参数的构造方法参数含义出现异常的原因 注意 自定义异常通常会继承自 Exception 或者 RuntimeException 继承自 Exception 的异常默认是受查异常 继承自 RuntimeException 的异常默认是非受查异常.