`
xichao1929
  • 浏览: 39119 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

异常机制 的 理解

阅读更多

          java中的异常 机制

我们用java编写程序时,总会遇到一些 错误,有些错误是我们程序员的错,这是我们可以改正的 ,有些错误却是我们不能控制的。好的,在java中这些叫做异常,并且有一个超类叫做Throwable,而它有两个子类 1Error  2 Exception  Error  类对象(如动态连接错误等),由Java虚拟机生成并抛弃(通常,Java程序不对这类例外进行处理);Exception  有两类,其中类RuntimeException代表运行时由Java虚拟机生成的例外,这是我们经常遇到的,当然就是我们的错误,如算术运算例外ArithmeticException(由除0错等导致)、数组越界例外ArrayIndexOutOfBoundsException等;其它则为非运行时例外,如输入输出例外IOException等。Java编译器要求Java程序必须捕获或声明所有的非运行时例外,但对运行时例外可以不做处理。我们通常用就 是用  trycatchthrowthrowsfinally  来处理。

这几个关键字英文解释是  

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异常(异常中的Error+异常中的Exception+检查异常+运行时异常+异常处理+throws关键字等)

    Java 异常机制详解 Java 异常机制是 Java 语言中的一种错误处理机制,它可以帮助开发者捕获和处理程序运行时的错误和异常。Java 异常机制包括 Error、Exception、检查异常、运行时异常、异常处理和 throws 关键字等...

    深入理解java异常处理机制Java开发Java经验技巧共

    深入理解java异常处理机制Java开发Java经验技巧共19页.pdf.zip

    深入理解golang的异常处理机制

    前言 ...在go语言中,panic和recover函数在作用层面分别对等throw和catch语句,当然也存在不同之处。...上述两种异常机制的使用中,在处理异常时控制流程的走向也是相似的。 下面将分别举例说明: try catch finally机

    Java论文异常处理论文:JAVA异常处理的分析与研究.doc

    Java 异常处理的设计原则是指在设计时把那些有可能发生异常情况的语句放在 try 块中,通过该语句块来打开 Java 的处理异常机制,然后检查有可能出现错误的程序代码。若异常条件满足,异常将被抛出,原程序流程在此...

    关于Java异常处理机制的深入理解.doc

    (网上找的,这个写的比较好,拿出来和大家共享一下)try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是...

    C++中异常机制的实现机制详解

    要理解C++异常机制实现之前,首先要了解一个函数的调用和返回机制,这里面就要涉及到ESP和EBP寄存器。我们先看一下函数调用和返回的流程。 下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码 假设...

    理解C++中的异常处理机制

    C++中引入了异常处理机制,这是C++的主要特征之一,是考虑问题和处理错误的一种更好的方式。使用错误处理可以带来一些优点,如下:  错误处理代码的编写不再冗长乏味,并且不再和正常的代码混合在一起,程序员只...

    (MIPS体系结构剖析,编程与实践)第4章MIPS异常和中断处理文库[参考].pdf

    MIPS 异常和中断处理机制 MIPS 异常和中断处理机制是计算机系统中非常重要的一部分,因为它...通过了解 MIPS 异常和中断处理机制的原理和实现,我们可以更好地理解计算机系统的工作原理,并提高系统的稳定性和可靠性。

    深入理解java异常处理机制的原理和开发应用

    Java异常处理机制在日常开发中应用频繁,本篇文章主要在基础的使用方法上,更进一步的,如何更加合理的使用异常机制,希望可以对各位朋友能有所帮助。

    07-VIP-深入理解MVCC与BufferPool缓存机制.pdf

    "理解MVCC与BufferPool缓存机制" 本节课主要讲解了MySQL中的MVCC(Multi-Version Concurrency Control)机制和BufferPool缓存机制。 一、MVCC机制 MVCC机制是一种多版本并发控制机制,用于保证事务的隔离性。在可...

    深入理解java异常处理机制及应用

    本篇文章主要介绍了java异常处理机制及应用,异常处理机制是Java语言的一大特色。从异常处理的机制、异常处理的方法、异常处理的原则等方面介绍Java语言的异常处理技术,有兴趣的可以了解一下。

    深入理解python try异常处理机制

    深入理解python try异常处理机制 #python的try语句有两种风格 #一:种是处理异常(try/except/else) #二:种是无论是否发生异常都将执行最后的代码(try/finally) try/except/else风格 try: &lt;语句&gt; #运行别的...

    异常处理 C语言程序设计教程C输入输出流PPT课件.pptx

    本资源摘要信息来自 Exception Handling in C Programming Design Tutorial PPT Courseware,总页数为 18 页,主要讲解了 C 语言程序设计中异常处理的概念、类型、处理机制和实践操作。 异常处理的概念 异常是一种...

    深入理解java异常处理

    对java异常的工作过程进行详细解释,让初学者更好的掌握异常处理机制

    深入理解PHP原理之异常机制

    PHP的异常机制的原理是什么? 在PHP每一个可独立执行的op array最后的ZEND_HANDLE_EXCEPTION是用来干什么呢? 让我们从一个问题说起, 上周的时候, blue5tar提了一个问题:”对于下面的代码, onError明明执行了, 但是...

    理解.NET中的异常

    或许从第一次使用异常开始,我们就要经常考虑诸如何时捕获异常,何时抛出异常,异常的性能如何之类的问题,有时还想了解究竟什么是异常,它的机制又是什么。本文试着对这些问题进行讨论。

    面向对象程序设计-实验5异常处理.doc )

    本实验的目的是让学生了解输入/输出流的概念,掌握文件的输入/输出的步骤与操作,正确理解 C++ 的异常处理机制,以及掌握异常处理的声明和执行过程。 二、实验内容及步骤 实验内容分为三部分:学生类的定义和文件...

    Java 异常处理面试集锦及答案20道

    本文提供了二十道常见的面试题,涵盖了Java异常处理的基本知识、异常类型、异常处理机制、关键字、异常链等方面。这些问题旨在考察候选人对Java异常处理的理解和应用能力。通过阅读本文,您将能够深入了解Java异常...

Global site tag (gtag.js) - Google Analytics