`
Jonathan樊
  • 浏览: 77352 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Java 异常处理小结(1)

阅读更多

      做了一个几个星期的东西,又要重新再来了~~从需求分析重新做起,这时,我终于体会到了沟通的重要性啊~~

今天,现在都凌晨1点了,应该是昨天,昨天下午进行了一场笔试,选的Java,选择题加问答题~~感觉Java 全都是一些基础的根本的知识,只要基础扎实,笔试是不成问题的~~~·但是,姐的基础不扎实~~~~~~13个选择题,有6个判断程序结果的题,姐都不是很把握,但是,姐都答对了~直觉指引我啊~~~~~~姐决心好好学习!!!!一定要踏踏实实!!Yes!

 

     今天总结一下 Java的异常处理机制~~早该做的~~~~

 

一:Java 异常的类型

 

 Java 常见异常类的结构如下:

 java.lang.Object

 

  java.lang.Throwable
      java.lang.Exception
         java.lang.RuntimeException
      java.lang.Error
         java.lang.ThreadDeath
  Throwable 是Java语言中所有异常和错误的超类,只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。Throwable 有两个直接子类,Error和Exception。
 1,ErrorAPI文档说:“Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。”  意思应该是:Error表示 程序本身无法恢复的严重错误,如,内存越界,正常程序不应该试图捕获的严重错误,应该交给系统处理。应该谨慎使用Error的子类,因为它可能导致灾难性的错误。
 2,Exception  :API文档说:“Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。 ”  意思应该是:程序本身可以处理的异常。Exception 有一个子类:Runtime Exception。
       3,Runtime Exception: API文档说:”RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。“   Runtime  Exception 顾名思义:运行时异常。Java编译器也就是java虚拟机不会去检查它,即使程序可能出现这种异常,不去Try catch ,也不throws 在代码编译阶段,还是会通过,但是在代码运行阶段会出现错误反应。一些常见的异常错误,如NullPointException就是Runtime Exception 的直接子类。

 二:Java 的异常处理

 

  Java的“ 异 常” 处 理 通 过5个 关 键 词 来 实现:try,catch,throw,throws和finally。

 

    1,使用try ..catch

 

      我们希望自己可以处理异常,可以用try {}来指定一块可能出现异常的代码块。catch()来制定想要捕捉的异常类型。注意,try ,catch 均不可单独使用。可以组合使用。try 必须至少有一个与其匹配的 catch或finally。

         如果,同一段程序可能出现多个异常类型,则可以有多个catch语句,每一个catch 的异常类型都会被检查,第一个与异常匹配的catch语句就会被执行,其他的catch语句就不会再被执行。因此,如果,一个类和子类同时都catch的话,应将子类的catch放在前面,否则,永远不会到达子类。

 
   2,throw
        
        throw 用来明确的抛出一个异常,在方法体内。语法格式为 throw 异常对象。throw 后,传到catch语句。 throw 后面的语句将永不会被执行。
 
  3,throws
 
       throws 用来表明一个方法可能抛出的各种异常,在方法名后。语法格式为 throws 异常类型1,异常类型2 ····
      对于处理不了的异常或者需要转型的异常一般会throws。如果,在方法调用方法的多层嵌套中,每个方法都throws,java虚拟机会从出现异常的代码块中,一层一层的往外找,直到找到处理该异常的代码为止,然后将异常交给处理的catch语句。如果,Java虚拟机找到最外层的main()方法时,仍然没有异常处理的代码,将会,第一、调用异常的对象的printStackTrace()方法,打印方法调用栈的异常信息。第二、如果出现异常的线程为主线程,则整个程序运行终止;如果非主线程,则终止该线程,其他线程继续运行。
    
    4,finally

         如果一个异常被抛出时,程序的执行不再是线性的,可能会导致有些代码无法执行到。为了保证有些代码无论抛出什么异常都必须被执行的话,这一段代码可以用finally来标识。finally语句总是在return语句前执行,不论位置的先后。


   总的来说,异常越早处理越好,占用的资源的时间就会越小,如果自己可以处理的异常就可以处理掉,不要抛给调用者。
    
        



 
8
6
分享到:
评论
10 楼 Jonathan樊 2011-11-05  
zhufeng1981 写道
“总的来说,异常越早处理越好,占用的资源的时间就会越小,如果自己可以处理的异常就可以处理掉,不要抛给调用者。”

我对这个概括保留意见,异常到底应该怎么用呢,希望楼主整理后具体讲讲。

会的,会的~~这是(1),还有(2)O(∩_∩)O哈!
9 楼 zhufeng1981 2011-11-05  
“总的来说,异常越早处理越好,占用的资源的时间就会越小,如果自己可以处理的异常就可以处理掉,不要抛给调用者。”

我对这个概括保留意见,异常到底应该怎么用呢,希望楼主整理后具体讲讲。
8 楼 caopengcheng 2011-10-14  
首先,你咋不说是妹,要说姐。其次,异常也就那么多吧。
7 楼 Jonathan樊 2011-10-14  
沙舟狼客 写道
异常机制很消耗性能

嗯  我还需要进一步研究  学无止境撒
6 楼 沙舟狼客 2011-10-14  
异常机制很消耗性能
5 楼 Jonathan樊 2011-10-13  
chansman 写道
个人认为,异常的最终目的有两点:
1 对于用户让他知道系统出错了,避免用户造成损失.
2 对于开发人员,通过错误信息,能够快速的准确的判断出代码出错的原因,而不是一遍一遍的debug.

~言简意赅~~受教了~~~
4 楼 yzshen123 2011-10-13  
写的很详细 上课若好好听课  若好好听课 这东西你就不用纠结了  哥这就不教训你了 因为咱俩一样 ....不过你直觉太恐怖了....就咱这个阶段会用个try catch就行 其他的一般用不到 ....
3 楼 springlys 2011-10-13  
博主,求本文的亮点。
2 楼 chansman 2011-10-13  
个人认为,异常的最终目的有两点:
1 对于用户让他知道系统出错了,避免用户造成损失.
2 对于开发人员,通过错误信息,能够快速的准确的判断出代码出错的原因,而不是一遍一遍的debug.
1 楼 Just_抱怨 2011-10-13  
基础顶下,就是总结的有点少

相关推荐

    java异常机制小结

    Java 异常机制小结 Java 异常机制是 Java 语言中一个非常重要的方面,也是程序设计的一大难点。Java 语言在设计的当初就考虑到异常处理的框架的方案,使得所有的异常都可以用一个类型来表示,不同类型的异常对应...

    java异常小结

    本文主要总结了Java异常处理机制及其相关知识点。 首先,异常机制是Java中用于处理程序运行时错误的框架。当程序执行过程中遇到问题,异常机制会提供一个安全的出口,使得程序控制权能够转移到预先定义的异常处理器...

    Java异常处理操作实例小结

    Java 异常处理操作实例小结 Java 异常处理是 Java 编程语言中的一种错误处理机制,用于捕获和处理运行时的异常情况。本文将通过实例形式总结分析 Java 异常处理操作的常见情况与相关处理技巧。 一、异常处理的使用...

    Java异常处理-自定义异常类及课后练习

    【Java异常处理-自定义异常类及课后练习】 在Java编程中,异常处理是程序健壮性的重要组成部分。Java提供了丰富的预定义异常类,但有时这些预定义的异常类并不能满足特定业务需求,这时就需要自定义异常类。自定义...

    java异常讲解

    通过以上介绍,我们可以了解到Java异常处理机制的强大之处。正确地使用异常处理不仅可以提高程序的健壮性,还可以让程序更加易于维护和扩展。在实际开发中,合理地使用异常处理机制对于构建高质量的软件系统至关重要...

    Java 异常处理小结,从入门到精通

    Java异常处理是编程中至关重要的一个环节,它用于处理运行时出现的问题,确保程序的健壮性和稳定性。本文将深入探讨Java的异常处理机制,包括内置异常、异常处理的核心方法、异常捕获以及自定义异常。 首先,Java...

    JAVA异常入门(思维导图)

    1.异常的概念2.异常的分类3.捕获并处理异常(try……catch/finally)try……catch块 try……多catch块 try……catch/finally块 4.抛出异常throws5.自定义异常 自定义异常的来由 操作步骤 ...小结 throw与throws的区别

    java调用RMI小结

    这些接口需要继承`java.rmi.Remote`接口,并声明可能抛出`RemoteException`的异常。例如,上述示例中的`LoadFile`接口。 ```java public interface LoadFile extends Remote { void upLoadFile(FileInformation ...

    java异常分类

    Java异常处理机制是Java语言中一项重要的特性,它能够帮助开发者更好地管理程序中的错误情况,确保程序在遇到问题时能够优雅地处理而不是突然崩溃。Java中的异常主要分为两大类:**检查型异常(Checked Exception)*...

    Java编程开发 Java输入语句小结.doc

    在Java编程中,输入语句是程序与用户交互的关键部分,允许用户向程序提供数据。以下是对Java输入语句的详细总结,主要介绍两种常用的方法:`Scanner`类和`...在处理用户输入时,一定要注意异常处理,确保程序的健壮性。

    java基础小结

    《Java基础小结》 Java,作为一种广泛应用的编程语言,以其跨平台、面向对象的特点深受开发者喜爱。这篇博文和随附的PDF笔记旨在总结Java的基础知识,帮助初学者巩固理解,同时也为有经验的开发者提供回顾参考。 1...

    Java异常小结

    Java异常处理是编程中至关重要的一个部分,它用于处理程序运行时可能出现的错误或异常情况。在Java中,异常处理采用了一种面向对象的方式,通过创建特定的异常类来表示不同类型的错误,使得代码更加清晰、可维护。...

    Java Socket通信小结

    Java Socket通信小结 在Java编程中,Socket通信是一种基于TCP/IP协议的网络通信方式,它允许两个应用程序之间建立可靠的、双向的数据传输连接。本文将深入探讨Java Socket通信的基础知识,以及如何通过Java实现一个...

    java课程小结.rar_北京理工大学JAVA课程

    这个“java课程小结.rar_北京理工大学JAVA课程”压缩包中包含的“课程小结”文件,很可能是教授精心编写的教学精华,旨在帮助学生巩固所学知识并为后续学习打下坚实基础。 在Java课程中,有几个核心概念和技术是必...

    异常类:自定义异常类

    #### 小结 通过本示例,我们学习了如何在 Java 中创建和使用自定义异常类。自定义异常类不仅可以使代码更加清晰易读,还可以帮助开发者更精确地控制异常处理流程,提高程序的健壮性和可维护性。在实际开发中,合理...

    java笔试题小结

    ### Java笔试题小结 #### 1. Java 字符串(String) **问题**: String 类的特点是什么?与 StringBuffer 的区别? **分析与解答**: `String` 类在 Java 中是不可变的,即一旦创建了一个字符串对象,其内容就不能...

    Java基础知识小结

    Java基础知识是每个Java开发者必须掌握的核心内容,涵盖了...以上只是Java基础知识的一部分,学习Java还需要掌握异常处理、IO流、多线程、网络编程、反射、设计模式等众多内容,不断深入理解才能成为熟练的Java开发者。

Global site tag (gtag.js) - Google Analytics