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

简单了解Java编程中对异常处理的运用

鲁滨海
2023-03-14
本文向大家介绍简单了解Java编程中对异常处理的运用,包括了简单了解Java编程中对异常处理的运用的使用技巧和注意事项,需要的朋友参考一下

Java异常是一个描述在代码段中发生的异常(也就是出错)情况的对象。当异常情况发生,一个代表该异常的对象被创建并且在导致该错误的方法中被抛出(throw)。该方法可以选择自己处理异常或传递该异常。两种情况下,该异常被捕获(caught)并处理。异常可能是由Java运行时系统产生,或者是由你的手工代码产生。被Java抛出的异常与违反语言规范或超出Java执行环境限制的基本错误有关。手工编码产生的异常基本上用于报告方法调用程序的出错状况。

Java异常处理通过5个关键字控制:try、catch、throw、throws和 finally。下面讲述它们如何工作的。程序声明了你想要的异常监控包含在一个try块中。如果在try块中发生异常,它被抛出。你的代码可以捕捉这个异常(用catch)并且用某种合理的方法处理该异常。系统产生的异常被Java运行时系统自动抛出。手动抛出一个异常,用关键字throw。任何被抛出方法的异常都必须通过throws子句定义。任何在方法返回前绝对被执行的代码被放置在finally块中。

下面是一个异常处理块的通常形式:

try {
  // block of code to monitor for errors
}
catch (ExceptionType1 exOb) {
  // exception handler for ExceptionType1
}
catch (ExceptionType2 exOb) {
  // exception handler for ExceptionType2
}
// ...
finally {
  // block of code to be executed before try block ends
}

这里,ExceptionType 是发生异常的类型。

所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的是两个把异常分成两个不同分支的子类。一个分支是Exception。

该类用于用户程序可能捕捉的异常情况。它也是你可以用来创建你自己用户异常类型子类的类。在Exception分支中有一个重要子类RuntimeException。该类型的异常自动为你所编写的程序定义并且包括被零除和非法数组索引这样的错误。

另一类分支由Error作为顶层,Error定义了在通常环境下不希望被程序捕获的异常。Error类型的异常用于Java运行时系统来显示与运行时系统本身有关的错误。堆栈溢出是这种错误的一例。本章将不讨论关于Error类型的异常处理,因为它们通常是灾难性的致命错误,不是你的程序可以控制的。

 类似资料:
  • 本文向大家介绍了解C++编程中指定的异常和未经处理的异常,包括了了解C++编程中指定的异常和未经处理的异常的使用技巧和注意事项,需要的朋友参考一下 noexcept C++11:指定函数是否可能会引发异常。 语法 参数 表达式 计算结果是 True 或 False 的常量表达式。无条件版本相当于 noexcept(true)。 备注 noexcept(及其同义词 noecept(true))指定函

  • 本文向大家介绍带你了解Java中的异常处理(下),包括了带你了解Java中的异常处理(下)的使用技巧和注意事项,需要的朋友参考一下   今天继续讲解java中的异常处理机制,主要介绍Exception家族的主要成员,自定义异常,以及异常处理的正确姿势。 Exception家族   一图胜千言,先来看一张图。   Exception这是一个父类,它有两个儿子,IOException和RuntimeE

  • 本文向大家介绍详解Java异常处理中finally子句的运用,包括了详解Java异常处理中finally子句的运用的使用技巧和注意事项,需要的朋友参考一下 当异常被抛出,通常方法的执行将作一个陡峭的非线性的转向。依赖于方法是怎样编码的,异常甚至可以导致方法过早返回。这在一些方法中是一个问题。例如,如果一个方法打开一个文件项并关闭,然后退出,你不希望关闭文件的代码被异常处理机制旁路。finally关

  • 本文向大家介绍浅析Lua编程中的异常处理,包括了浅析Lua编程中的异常处理的使用技巧和注意事项,需要的朋友参考一下  需要进行错误处理 错误处理是必要的,因为真实世界中的操作通常需要使用复杂的操作,包括文件操作,数据库事务和web服务调用。没人关心错误的业务,涉及保密信息或金钱交易时造成大的损失。 在任何编程,总是有错误处理的要求。错误可以是两种类型,其中包括,     语法错误     运行时错

  • 本文向大家介绍Java 中的异常处理?相关面试题,主要包含被问及Java 中的异常处理?时的应答技巧和注意事项,需要的朋友参考一下  Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大

  • 问题内容: 我更喜欢将异常处理逻辑放在main方法附近的调用堆栈中。我喜欢这种方法…但是,我创建了一个线程,该线程的run()内部的某些方法调用可能会引发异常。我真的很想看看是否有一种方法可以将这些异常返回到父线程?我能想到的最好的办法是在实现的对象内部设置一个变量。该变量是一个包含错误消息的字符串,该错误消息随后使用类加载器在父线程中正确地重新创建相同的异常。 我想知道的是,在这里得到想要的东西