当前位置: 首页 > news >正文

java异常

异常
异常的作用
异常的处理方式
常见方法
抛出处理
自定义异常

异常

异常:异常就是代表程序出现的问题
在这里插入图片描述

Error:代表的系统级别错误(属于严重问题)系统一旦出现问题,sun公司会把这些错误封装成Error对象:Error是给sun公司自己用的,不是给我们程序员用的。因此我们开发人员不用管它
Exception:叫做异常,代表程序可能出现的问题我们通常会用Exception以及他的子类来封装程序出现的问题
运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒,运行时出现的异常(如:数组索引越界异常)
编译时异常:编译阶段就会出现异常提醒的。(如:日期解析异常)

异常的作用

作用一:异常是用来查询bug的关键参考信息
作用二:异常可以作为方法内部的一 种特殊返回值,以便通知调用者底层的执行情况

异常的处理方式

1.JVM默认的处理方式

  • 把异常的名称,异常原因及异常出现的位置等信息输出在了控制台
  • 程序停止执行下面的代码不会再执行了

2.自己处理(捕获异常)
格式:
在这里插入图片描述
目的:当代码出现异常时,可以让程序继续往下执行。

1.如果try中没有遇到问题,怎么执行?
------会把try里面所有的代码全部执行完毕,不会执行catch里面的代码(注意:
只有当出现了异常才会执行catch里面的代码)
2.如果try中可能会遇到多个问题,怎么执行?
会写多个catch与之对应
细节:如果我们要捕获多个异常,这些异常中如果存在父子关系的话,那么父类一定要写在下面
3.如果try中遇到的问题没有被捕获,怎么执行?
相当于try…catch的代码白写了,最终还是会交给虚拟机进行处理。
4.如果try中遇到了问题,那么try下面的其他代码还会执行吗?
下面的代码就不会执行了,直接跳转到对应的catch当中,执行catch里面的语句体
但是如果没有对应catch与之匹配,那么还是会交给虚拟机进行处理

常见方法

Throwable 的成员方法
在这里插入图片描述
printstackTrace()//细节:仅仅是打印信息,不会停止程序运行

抛出异常

throws
注意:写在方法定义处,表示声明一个异常告诉调用者,使用本方法可能会有哪些异常
public void 方法() throws 异常类名,异常类名2…{

}
编译时异常:必须要写。
运行时异常:可以不写。

throw
注意:写在方法内结束方法手动抛出异常对象,交给调用者方法中下面的代码不再执行了
public void 方法(){
throw new NullPointerException();
}

抛出和捕获

抛出:告诉调用者出错了
告诉调用者方法里面有问题了,更多写在方法里

捕获:不让程序停止
更多写在方法处

自定义异常

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

  1. 定义异常类
  2. 写继承关系
  3. 空参构造
  4. 带参构造

http://www.mrgr.cn/news/100435.html

相关文章:

  • Appium自动化开发环境搭建
  • 虚函数表的设计和多态的实现
  • 关于Android Studio的AndroidManifest.xml的详解
  • pyspark将hive数据写入Excel文件中
  • 视觉/深度学习/机器学习相关面经总结(2)(持续更新)
  • 合理布局结构体,精打细算 cacheline
  • MCP实战派【1】-SSE
  • Arduino 入门学习笔记(六):外部中断实验
  • 基于知识库的智能客户服务工具
  • 辞九门回忆
  • 练习普通话,声音细柔和
  • 如何理解promise 续一
  • 解决Cline的Shell Integration Unavailable问题
  • OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理
  • C++初阶-STL简介
  • 10 DPSK原始对话记录
  • ALTER TABLE 删除DROP表列的报错: 因为有一个或多个对象访问此列
  • MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep
  • 基于云原生架构的后端微服务治理实战指南
  • 【Linux】Centos7 在 Docker 上安装 mysql8.0(最新详细教程)