当前位置: 首页 > 编程笔记 >

JAVA异常处理捕获与抛出原理解析

高修伟
2023-03-14
本文向大家介绍JAVA异常处理捕获与抛出原理解析,包括了JAVA异常处理捕获与抛出原理解析的使用技巧和注意事项,需要的朋友参考一下

JAVA 异常

当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常。异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常。

这个时候,JAVA 就提供了优秀的处理方法:异常处理
异常处理能让程序在异常发生时,按照异常处理设定的逻辑对异常进行处理,最大程度保证程序继续运行,并且显示并处理异常。

JAVA 程序发生异常,就会用对应的异常类的对象来封装异常,JRE(Java Runtime Environment) 便会寻找对应的异常处理逻辑来处理该异常。

总的说来,异常处理机制就是,当 JAVA 异常出现,会将其封装成对象,JRE 会通过对象特点寻找已经设定好的处理逻辑进行处理。

JAVA 异常处理方式

try...catch...finally (有单catch和多catch处理方式,执行逻辑基本相同,finally 可要可不要)

public class Try{
  public static void test(){
    try {
      
    } catch (Exception e) {
      //TODO: handle exception
    } finally{
      //TODO: recycle 
    }
  }
}
  • try: 置放需要监听的代码块,当代码块出现异常,异常会被抛出
  • catch: 用于捕获 try 代码块的抛出的异常
  • finally: 在异常抛出与捕获之前执行,主要用于回收 try 代码块里打开的资源(比如连接,文件等),如果 finally 代码块有终止语句,那么不会向后执行
  • throw: 抛出异常
  • throws: 用于方法签名中,声明该方法可能抛出的异常

同时异常类很多,还可以通过继承 Exception 类来自定义异常,同时还可以通过
assert 关键字进行断言检查(在命令行模式下运行Java程序时可增加参数-enableassertions或者-ea打开断言。可通过-disableassertions或者-da关闭断言)。至于有哪些异常类,怎么用,就看文档吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本节介绍如何使用三个异常处理程序组件(try、catch 和 finally)来编写异常处理程序。 然后,介绍了 Java SE 7中引入的 try-with-resources 语句。 try-with-resources 语句特别适合于使用Closeable的资源(例如流)的情况。 本节的最后一部分将通过一个示例来分析在各种情况下发生的情况。 以下示例定义并实现了一个名为ListOfNumbe

  • 嘿StackOverflow社区, 关于抛出异常。一般什么时候抛出和异常,什么时候抓取? 假设我遇到了这样的情况,我不得不退出,因为发生了一些问题,我无法从它中恢复过来。我是投还是接? 我现在就这么做: 这样做对吗?如果我只是抛出异常会更合适吗?对不起,我是例外的新手:)

  • 本文向大家介绍Java基础异常处理代码及原理解析,包括了Java基础异常处理代码及原理解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了java基础异常处理代码及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 异常的定义:中断了正常指令流的事件。 try..catch..finally结构: 输出结果: throw与thro

  • 我有下面的代码块。我得到的是的catch块没有处理它。有人能告诉我如何处理下面的块抛出的异常吗?

  • 我正在尝试创建一个过滤器来处理异常(请参见在JSF中处理未捕获的异常) 我在日志中看到错误: 我做错了什么?

  • 出于某种未知原因,当用户输入为字符串或特殊字符时,它不会捕获我的异常(扫描仪只接受整数和从1到3)。代码如下: 代码的结果是: 我搞不懂