java中的异常 机制
我们用java编写程序时,总会遇到一些 错误,有些错误是我们程序员的错,这是我们可以改正的 ,有些错误却是我们不能控制的。好的,在java中这些叫做异常,并且有一个超类叫做Throwable,而它有两个子类 1Error 2 Exception 。Error 类对象(如动态连接错误等),由Java虚拟机生成并抛弃(通常,Java程序不对这类例外进行处理);Exception 有两类,其中类RuntimeException代表运行时由Java虚拟机生成的例外,这是我们经常遇到的,当然就是我们的错误,如算术运算例外ArithmeticException(由除0错等导致)、数组越界例外ArrayIndexOutOfBoundsException等;其它则为非运行时例外,如输入输出例外IOException等。Java编译器要求Java程序必须捕获或声明所有的非运行时例外,但对运行时例外可以不做处理。我们通常用就 是用 :try,catch,throw,throws,finally 来处理。
这几个关键字英文解释是
Throws: Lists the exceptions a method could throw.
Throw: Transfers control of the method to the exception handler.
Try: Opening exception-handling statement.
try语句用大括号{}指定了一段代码,该段代码可能会抛弃一个或多个例外
Catch: Captures the exception.
捕获 异常 catch语句可以有多个,分别处理不同类的例外
Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止。这里,类型匹配指catch所处理的例外类型与生成的例外对象的类型完全一致或者是它的父类,因此,catch语句的排列顺序应该是从特殊到一般。
Finally: Runs its code before terminating the program.
在整个程序 结束前 执行里面 的代码
try所限定的代码中,当抛弃一个例外时,其后的代码不会被执行。通过finally语句可以指定一块代码。无论try所指定的程序块中抛弃或不抛弃例外,也无论catch语句的例外类型是否与所抛弃的例外的类型一致,finally所指定的代码都要被执行,它提供了统一的出口。通常在finally语句中可以进行资源的清除工作。如关闭打开的文件等。
我尝试着 写了一个 异常的 程序
package netjava.txc.ExceErr;
/**
* 异常测试
* @author Administrator
*
*/
public class ExceptionTest {
//程序入口
public static void main(String args[])throws Exception{
//创建对象
ExceptionTest et =new ExceptionTest();
boolean b= et.OutofBounds();
System.out.println(b);
}
/**
* 异常
* @return
* @throws Exception
*/
public boolean OutofBounds()throws Exception{
boolean b1=true;
try{
if(!Ex()){
return b1;
}
}// 如果上一个方法 不异常 就抛出异常
catch(Exception e){
e.printStackTrace();
throw e;
}
finally{
return b1;
}
}
/**
* 出现异常的函数
* @return 异常时 为假 不出现异常时 为真
* @throws Exception
*/
public boolean Ex()throws Exception{
boolean rr = true;
try{
int ge[]= { 1,1,2,5,5,66,5,85,2,6,2,52,85,2};
int ge1[]=new int[10];
int j=0;
for(int i=0;i<ge.length;i++){
ge1[j]=ge[i];
j++;
}
return rr;
//未出现 异常
}catch(Exception e){
e.printStackTrace();
rr=false;
throw e;
}
//最后 执行
finally{
return rr;
}
分享到:
相关推荐
### 深入理解Java异常处理机制 #### 引言 异常处理机制是任何现代编程语言不可或缺的一部分,尤其是在像Java这样的面向对象的语言中更是如此。Java的异常处理机制旨在帮助开发者编写更健壮、更易于维护的代码。...
Android系统提供了基本的异常处理机制,但为了创建健壮的应用,开发者需要自定义并扩展这些机制。以下将详细介绍Android异常处理机制及其优化策略。 首先,Android系统在遇到未被捕获的异常时,会触发系统默认的...
下面是对Java异常处理机制的详细解析。 在Java中,异常是程序运行时发生的错误,它中断了正常的代码流程。异常类继承自`java.lang.Throwable`,分为两种类型:Error和Exception。Error是系统级别的问题,如虚拟机...
### ARM异常处理机制详解 #### 一、ARM异常处理机制概述 ARM处理器作为一种广泛应用的嵌入式系统核心,为了确保系统的稳定性...此外,深入理解这些机制有助于开发者更好地利用ARM处理器的功能,优化应用程序的性能。
C++异常处理机制是编程中用来处理程序运行时可能出现错误的一种方法。它的核心思想是将错误检测和错误处理分离,...理解并熟练运用异常处理机制,能够帮助开发者更好地应对运行时可能出现的问题,保证程序的稳定运行。
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误...理解并熟练运用这些机制,对于构建健壮的Struts2应用至关重要。
这篇19页的PDF文档《深入理解java异常处理机制Java开发Java经验技巧共》可能涵盖了Java异常处理的基本概念、最佳实践以及高级用法。在Java中,异常处理通过五个关键字来实现:try、catch、finally、throw和throws。 ...
Java中的异常处理机制是编程过程中不可或缺的一部分,它用于处理程序运行时出现的错误或不正常情况。...理解并熟练运用异常处理,不仅可以提高代码质量,还能帮助开发者更好地应对复杂编程环境中的各种挑战。
Java内存机制是Java虚拟机(JVM)的关键组成部分,它管理着程序运行时的数据存储。在Java中,内存主要分为以下几个区域: ...正确理解和运用Java内存机制以及异常处理机制对于开发健壮、高效的Java应用程序至关重要。
在C++编程中,异常处理是...总之,理解和熟练掌握C++的异常处理机制,以及在VS环境下如何结合使用SEH,对于编写健壮、容错性好的程序至关重要。通过不断实践和学习,你将能够更好地应对各种程序运行时可能出现的问题。
总之,理解并熟练掌握Java的异常处理机制对于编写健壮、易维护的Java程序至关重要。通过适当使用异常处理,开发者可以更好地控制程序的流程,确保在出现错误时能够及时、准确地处理,提高软件的质量和稳定性。
为了实现可嵌套的C语言异常处理机制,开发者通常会采用自定义的错误处理策略或者利用编译器扩展。下面我们将详细探讨这一主题。 异常处理是程序在遇到错误或异常情况时,能够优雅地捕获并处理问题的一种机制。在...
在深入研究源码时,理解异常处理机制的实现细节也非常重要。这可能涉及查看编译器如何生成异常处理表,以及运行时系统如何调度异常处理。虽然这些底层机制通常对普通开发者来说是透明的,但在某些情况下,了解它们的...
在实际编程中,理解Java异常处理机制的这些细节至关重要,因为它可以帮助我们编写更加健壮和易于维护的代码。合理的异常处理可以防止程序崩溃,提供有用的错误信息,并允许程序优雅地处理错误情况。
### 软件工程中的错误处理与异常机制 #### 第一章:软件工程中的错误处理与异常机制 在软件工程领域,确保软件系统的稳定性和可靠性是至关重要的任务之一。为了达到这一目标,软件开发者需要掌握并正确应用错误...
Java 异常机制详解 Java 异常机制是 Java 语言中的一种错误处理机制,它可以帮助开发者捕获和处理程序运行时的错误和异常。Java 异常机制包括 Error、Exception、检查异常、运行时异常、异常处理和 throws 关键字等...
本文将深入探讨Java的异常处理机制,结合"Effective Java Exceptions"文档中的观点,来揭示如何实现高效的异常处理。 1. **异常的分类与层次结构** Java中的异常分为检查型异常(Checked Exceptions)和运行时异常...
【异常处理机制】是编程语言中用于处理程序运行时可能出现错误的一种机制,旨在增强程序的稳定性和健壮性。...异常处理是Java编程中的核心概念,理解和实践异常处理是成为专业Java开发者的必备技能。
开发者应该深入理解ARM处理器的工作原理,并在此基础上精心设计异常处理策略,从而提升整个系统的稳定性和性能表现。未来随着技术的发展,ARM架构将在更多领域得到应用,因此掌握其核心知识也将变得越来越重要。