`
linxiwd
  • 浏览: 8302 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

java异常处理机制

    博客分类:
  • java
 
阅读更多

看了这篇文档。没有练习。异常得在之后的实际操作一点点深入理解吧。

 

java异常类的继承关系:

 

Java程序员从笨鸟到菜鸟之(十二)java异常处理机制

http://blog.csdn.net/csh624366188/article/details/7322622

 

java中的异常处理机制

http://www.cnblogs.com/zhouhong/archive/2012/02/15/2349620.html

 

1、运行时异常

  RuntimeException类及其子类都被称为运行时异常,这种异常的特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。例如,当除数为零时,就会抛出java.lang.ArithmeticException异常。

2、受检查异常

  除了RuntimeException类及其子类外,其他的Exception类及其子类都属于受检查异常,这种异常的特点是要么用try...catch捕获处理,要么用throws语句声明抛出,否则编译不会通过。

 

 

执行步骤:

1.如果执行try块中的业务逻辑代码时出现异常,系统自动生成一个异常对象,该异常对象被提交给java运行环境,这个过程称为抛出(throw)异常。

2.当java运行环境收到异常对象时,会寻找能处理该异常对象的catch块,如果找到合适的cathc块并把该异常对象交给catch块处理,那这个过程称为捕获(catch)异常;如果java运行时环境找不到捕获异常的catch块,则运行时环境终止,jav程序也将退出。

 

 

访问异常信息:

如果程序需要在catch块中访问异常对象的相关信息,可以通过调用catch后异常形参的方法来获得。当java运行时决定调用某个catch块来处理该异常对象时,会将该异常对象赋给catch块后的异常参数,程序就可以通过该参数来获得该异常的相关信息。

所有异常对象都包含了如下几个常用方法:

getMessage():返回该异常的详细描述字符串

printStackTrace():将该异常的跟踪栈信息输出到标准错误输出

printStackTrace(PrintStream s):将该异常的跟踪栈信息输出到指定输出流

getStackTrace():返回该异常的跟踪栈信息。

 举例如下:

public class TestException{

public static void main(String[] args)

{

try{

     FileInputStream fis=new FileInputStream("a.txt");

}

catch(IOException ioe)

{

   System.out.println(ioe.getMessage());

   ioe.printStackTrace();

}

}

}

 

finally语句:

 

除非在try块或者catch块中调用了退出虚拟机的方法(即System.exit(1);),否则不管在try块、catch块中执行怎样的代码,出现怎样的情况,异常处理的finally块总是会被执行的。不过,一般情况下,不要再finally块中使用renturn或throw等导致方法终止的语句,因为一旦使用,将会导致try块、catch块中的return、throw语句失效。

 

原因是:当程序执行try块,catch块时遇到return语句或者throw语句,这两个语句都会导致该方法立即结束,所以系统并不会立即执行这两个语句,而是去寻找该异常处理流程中的finally块,如果没有finally块,程序立即执行return语句或者throw语句,方法终止。如果有finally块,系统立即开始执行finally块,只有当finally块执行完成后,系统才会再次跳回来执行try块、catch块里的return或throw语句,如果finally块里也使用了return或throw等导致方法终止的语句,则finally块已经终止了方法,不用再跳回去执行try块、catch块里的任何代码了。

 

 

 

使用throws抛出异常的思路是:

当前方法不知道如何处理这种类型的异常,该异常应该由上一级调用者处理,如果main方法也不知道应该如何处理这种类型的异常,也可以使用使用throws声明抛出异常,该异常将交给JVM来处理。

JVM对异常的处理方法:打印异常跟踪栈的信息,并终止程序运行,所以有很多程序遇到异常后自动结束。

注意点:如果某段代码调用了一个带throws声明的方法,该方法声明抛出了Checked异常,这表明该方法希望它的调用者来处理该异常。那么这段代码要么放在try块中显示捕获该异常,要么这段代码处于另一个带throws声明抛出的方法中。

 

 

 

分享到:
评论

相关推荐

    浅析JAVA异常处理机制.pdf

    ### 浅析JAVA异常处理机制 #### 一、Java异常处理机制概述 异常处理是Java语言中的一个重要机制,它能够确保程序在遇到不可预料的情况时仍能维持稳定运行。异常处理主要包括三个方面:捕获异常、控制程序流程以及...

    14.java异常处理机制.zip

    14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...

    深入理解java异常处理机制

    ### 深入理解Java异常处理机制 #### 引言 异常处理机制是任何现代编程语言不可或缺的一部分,尤其是在像Java这样的面向对象的语言中更是如此。Java的异常处理机制旨在帮助开发者编写更健壮、更易于维护的代码。...

    Java异常处理机制及应用.pdf

    Java 异常处理机制及应用 Java 异常处理机制是一种重要的技术,它能够帮助开发者处理 Java 语言中的错误和异常,从而提高程序的可靠性和稳定性。本文将从 Java 异常处理机制的原理、分类、抛出和捕获机制、原则等...

    Java异常处理机制及应用研究.pdf

    Java 异常处理机制及应用研究 Java 异常处理机制是 Java 程序设计的一大难点,也是使用 Java 进行软件开发时不容忽视的问题之一。是否进行异常处理直接关系到开发出的软件的稳定性和健壮性。对 Java 异常处理机制有...

    Java异常处理机制及其在项目中的应用.pdf

    Java 异常处理机制及其在项目中的应用 Java 异常处理机制是 Java 语言中的一种错误捕获机制,用于处理程序中的错误和异常。Java 异常处理机制可以分为两大类:Checked Exception 和 Unchecked Exception。Checked ...

    基于Java异常处理机制的分析.pdf

    "基于Java异常处理机制的分析" 本文主要讨论了Java异常处理机制的原理和应用。Java是一种面向对象的编程语言,对异常处理的支持非常出色。Java通过类来封装异常,并使用“try/ catch/finally”机制来处理异常,最后...

    Java异常处理机制应用研究.pdf

    "Java 异常处理机制应用研究" Java 异常处理机制是 Java 程序设计中的一个重要方面,正确使用异常处理的策略和方法,能够确保 Java 程序结构的清晰性、易读性和健壮性。本文将详细介绍 Java 异常处理机制的应用研究...

    高效java异常处理机制

    通过遵循上述最佳实践,开发者可以编写出更健壮、可维护的Java代码,有效地利用Java异常处理机制来提高程序的稳定性。同时,阅读并理解"Effective Java Exceptions"文档可以帮助进一步深化对Java异常处理的理解。

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

    Java异常处理机制是Java编程中不可或缺的一部分,它提供了一种有序地处理程序错误和异常情况的方法。这篇19页的PDF文档《深入理解java异常处理机制Java开发Java经验技巧共》可能涵盖了Java异常处理的基本概念、最佳...

    java异常处理机制示例(java抛出异常、捕获、断言)

    Java异常处理机制是Java编程中不可或缺的一部分,它用于处理程序运行过程中可能出现的错误或异常情况。这个机制通过五个关键字:try、catch、throw、throws、finally来实现。 1. **try** 关键字:用于包围可能抛出...

    JAVA异常处理机制——经验与技巧.pdf

    JAVA 异常处理机制——经验与技巧 本文旨在探讨 JAVA 中的异常处理机制,旨在帮助开发者更好地理解和掌握 JAVA 异常处理机制,提高程序的安全性和可用性。 一、什么是异常? 在 JAVA 中,异常是程序在运行期发生...

    Java异常处理机制的静态编译实现与优化

    异常处理机制是面向对象语言普遍支持的提高软件可靠性的方法。作为两款被广泛使用的面向对象语言,C++和Java语言都支持异常处理机制...该算法可以同时支持C++和Java异常处理机制,并有效提高了抛出异常较多的程序的性能。

    论文研究-基于Java异常处理机制的研究 .pdf

    Java异常处理机制研究的知识点涵盖了异常处理的基本概念、分类、原则以及实际应用等方面。 1. 异常处理概念 异常处理是Java语言中用于处理程序运行时遇到的错误和异常情况的一种机制。它通过异常类的层次结构来实现...

    浅析Java异常处理机制.pdf

    浅析Java异常处理机制 在 Java 编程中,异常处理机制是非常重要的一部分。任何一种程序设计语言编写的程序,在运行期间都有可能会出现一个不可能执行的操作,该操作的结果会导致程序运行错误。我们可以使用异常处理...

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

    Java异常处理机制是Java编程中一个至关重要的概念,它提供了对程序运行时错误的优雅处理方式。在Java中,异常是程序执行过程中发生的错误,这些错误可能会中断正常的流程。异常处理通过`try-catch-finally`块来实现...

    Java编程语言入门 Java语言基础教程 第08课 Java异常处理机制Exception 共21页.pdf

    ### Java异常处理机制详解 #### 一、Java异常处理概览 Java的异常处理机制是一种用于处理程序运行过程中出现的异常情况的有效手段。相比于传统的错误处理方式(如C语言中的返回值检查),Java的异常处理提供了更为...

Global site tag (gtag.js) - Google Analytics