Java异常如何为?

摘要:JAVA——异常 父类Exception 子类RuntimeException 和 其他异常 Exception:叫做异常,代表程序可能会出现的问题,我们通常会用Exception以及它的子类来封装程序出现的问题 运行时异常:Runtime
JAVA——异常 父类Exception 子类RuntimeException 和 其他异常 Exception:叫做异常,代表程序可能会出现的问题,我们通常会用Exception以及它的子类来封装程序出现的问题 运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒,运行时出现的异常(如:数组越界异常) 编译时异常:编译阶段就会出现异常提醒的(如:日期解析错误) 如果try中没遇到问题,怎么执行: 会把try中的代码全部执行完毕,不执行catch里的代码 如果try中可能会遇到多个问题,怎么执行: 会写多个catch与之对应,父类异常需要写在下面 如果try中遇到的问题没有被捕获,怎么执行: 相当于try...catch白写了,当前异常会交给虚拟机处理 如果try中遇到了问题,那么try下面的其他代码还会执行吗 不会执行了,try中遇到问题,直接跳转到对应的catch,如果没有对应的catch与之匹配,则交给虚拟机处理 异常方法 public String getMessage()返回此throwable的详细消息字符串 public String toString() 返回此可抛出的简短描述 public void printStackTrace() 在底层是利用System.err.Println进行输出,把异常的错误信息以红色字体输出在控制台 细节:仅仅是打印信息,不会停止程序运行 抛出处理 异常的三种处理方式 虚拟机默认处理异常的方式 把异常信息以红色字体打印在控制台,并结束 捕获:try...catch 一般用在调用出,能让代码继续往下运行 抛出:throw throws 在方法中,出现异常了 方法就没有继续运行下去的意义了,采取抛出处理,让该方法结束并告诉调用者出现的问题 自定义异常 自定义异常类 写继承关系 空参构造 带参构造 意义:就是为了让控制台的报错信息更加见名知意