JAVA——异常

父类Exception

子类RuntimeException 和 其他异常

  • Exception:叫做异常,代表程序可能会出现的问题,我们通常会用Exception以及它的子类来封装程序出现的问题

  • 运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒,运行时出现的异常(如:数组越界异常)

  • 编译时异常:编译阶段就会出现异常提醒的(如:日期解析错误)

  1. 如果try中没遇到问题,怎么执行:

会把try中的代码全部执行完毕,不执行catch里的代码

  1. 如果try中可能会遇到多个问题,怎么执行:

会写多个catch与之对应,父类异常需要写在下面

  1. 如果try中遇到的问题没有被捕获,怎么执行:

相当于try...catch白写了,当前异常会交给虚拟机处理

  1. 如果try中遇到了问题,那么try下面的其他代码还会执行吗

不会执行了,try中遇到问题,直接跳转到对应的catch,如果没有对应的catch与之匹配,则交给虚拟机处理

异常方法

public String getMessage() 返回此throwable的详细消息字符串
public String toString() 返回此可抛出的简短描述
public void printStackTrace() 在底层是利用System.err.Println进行输出,把异常的错误信息以红色字体输出在控制台

细节:仅仅是打印信息,不会停止程序运行

抛出处理

异常的三种处理方式

  1. 虚拟机默认处理异常的方式

把异常信息以红色字体打印在控制台,并结束

  1. 捕获:try...catch

一般用在调用出,能让代码继续往下运行

  1. 抛出:throw throws

在方法中,出现异常了 方法就没有继续运行下去的意义了,采取抛出处理,让该方法结束并告诉调用者出现的问题

自定义异常

  1. 自定义异常类

  2. 写继承关系

  3. 空参构造

  4. 带参构造

意义:就是为了让控制台的报错信息更加见名知意

你可能感兴趣的:(JAVA,java,开发语言)