认识异常及异常处理机制之try-catch

异常类

什么是异常?就像人会犯错一样,程序在运行的过程中也会犯错。程序中的错误有两类,一类称为Error(错误),另一类称为Exception(异常)。Error类和Exception类都为Throwable的子类。狭义上的异常指的是Exception,广义上的异常指的是Throwable在这里插入图片描述

认识异常

异常(Exception):异常指的是程序运行时发生的不正常事件,它能够被程序处理,保证程序继续运行下去。像除数为0、文件没有找到、输入的数字格式不对等都是常见的异常。
错误(Error):错误指程序没法处理的事件,例如内存泄漏。发生错误后,一般虚拟机会选择终止程序运行,程序员需要修改代码才能解决相关错误。
在这里插入图片描述运行时异常: 这些异常在编译期不检测,程序中可以选择处理,也可以不处理。如果不处理运行时会中断,但是编译没问题。
非运行时异常:是必须进行处理的异常,如果不处理,将发生编译期错误。
在这里插入图片描述

常见的异常

  1. ArithmeticException算术异常
    发生前提:整数除以0时发生

在这里插入图片描述
运行结果:在这里插入图片描述
2. IndexOutOfBoundsException:索引越界异常
发生前提:当访问字符串中的字符超过了其长度时或者访问数组中的元素超过了其长度时。
在这里插入图片描述
在这里插入图片描述3. NumberFormatException-数字格式异常
发生前提:当把一个字符串转换成数字时,字符串内容不是纯数字时发生。
在这里插入图片描述4.NullPointerException-空指针异常
发生前提:当对一个空对象(即没有初始化),调用属性或方法时。
在这里插入图片描述5.非运行时异常
FileNotFoundException:文件未找到异常。
在这里插入图片描述

异常处理机制

1.Java使用try-catch语句来处理异常,将可能出现的异常操作放在try-catch语句的try部分,将发生异常后的处理放在catch部分。

try {
可能发生异常的语句
}
catch(异常类 异常对象) {
异常处理代码
}
在这里插入图片描述
2.异常对象可以调用如下方法得到或输出有关异常的信息:
public String getMessage();
public String toString();
public void printStackTrace();

在这里插入图片描述3.异常处理的三种情况

1.发生异常,异常被捕获(处理)。
2.发生异常,异常没有被捕获。
3.没有发生异常。
(1)发生异常被捕获处理
在这里插入图片描述
(2)发生异常没有被捕获处理

在这里插入图片描述
(3)没有发生异常

在这里插入图片描述

相关推荐

  1. 异常处理(try-catch-finally)

    2024-01-12 19:34:01       15 阅读
  2. C++Qt中异常处理try-catch

    2024-01-12 19:34:01       15 阅读
  3. try/catch 和 Promise.catch 捕捉错误的异同使用限制

    2024-01-12 19:34:01       13 阅读
  4. python异常try/else分句

    2024-01-12 19:34:01       34 阅读
  5. python异常try/finally分句

    2024-01-12 19:34:01       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 19:34:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 19:34:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 19:34:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 19:34:01       20 阅读

热门阅读

  1. 那些阻碍大家学习软件编程的神翻译

    2024-01-12 19:34:01       34 阅读
  2. 判断是否是json字符串

    2024-01-12 19:34:01       35 阅读
  3. linux系统下的用户与组

    2024-01-12 19:34:01       34 阅读
  4. 五个大幅提升开发效率的VS Code技巧

    2024-01-12 19:34:01       33 阅读
  5. C语言——字符串常量初始化

    2024-01-12 19:34:01       36 阅读
  6. Redis的过期策略

    2024-01-12 19:34:01       35 阅读
  7. 【PostgreSQL】表管理-分区表

    2024-01-12 19:34:01       29 阅读