`
风子柒
  • 浏览: 56382 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java中的异常处理

阅读更多
首先,要理解何为异常处理,我们看下Wikipedia里面的定义:Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution.我们只选择我们需要的进行解释,异常处理就是解决那些会改变我们程序运行的正常流的特殊情况。
    在java的学习中,我们发现有两种异常:Exception和RuntimeException,但是在API中
,我们会看到,RuntimeException也是Exception的一个子类,而API中对RuntimeException
的解释是:RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
有人就会问:既然RuntimeException是Exception的子类,那为什么还要将他们活生生地拆开
呢?带着这样的疑问,我wiki了一下,发现了这样一句话:If you mean, why bother making a distinction between Exceptions and RuntimeExceptions when all of RuntimeException's subclasses could inherit directly from Exception, it's because it's useful to group exceptions so you can catch several at once instead of having to catch a big list of them.也就是说,只是为了更好的将异常进行分类,你可以一次性捕获一些异常,而不是一次捕获一大串的异常,这种解释应该不能算是一个很好的答案吧,至少说服不了我,于是我google了一下,发现了一个一样纠结的大洋彼岸的哥们的问题,而有人的答案如下:all the exceptions which compiler force you to handle are directly derived from the class java.lang.Exception and all the other exceptions which compiler not force you to handle are derived from java.lang.RuntimeException。
也就是说,所有编译器强制要你去处理的异常都是来自Exception类,而没有强制要你去处理的都来自RuntimeException类,另一个跟帖说:RuntimeException是由于程序内部原因造成的,因此可以忽略。额,好吧,暂且就这样吧。至于异常的分类了,这个在API里都写得很详尽了,此处就不再赘述了。
      接下来就到了异常的处理了,我们知道,一般有两种对异常的处理方式(此处说的异常当然是checked Exceptions了):捕获和抛出。捕获就是try-catch了,而抛出就是throws了。随后要扯的问题就出来了,到底什么时候用try-catch,什么时候用throws呢?这时候另一个工具就登上舞台了:书本。是的,我打开了《Thinking in Java》,在书本里,我发现了很多和异常有关的内容,但是由于这里并不打算将书上的内容全部copy上来,什么违例控制器,违例规范等等,大家就自己看看书吧,我相信这种经典的书籍,应该是java学习者居家旅行必备佳品吧!下面就分享一些被广泛认可的异常处理原则吧:①.如果异常无法处理,就将其抛出;②.如果异常可以处理,就把它catch住;③.如果异常抛出,应该尽可能在最靠近这个异常的方法里将其catch住。其实,看到这些原则,我就一个想法:程序猿要对自己写的代码负责,尽量不给别人犯错的机会。而老胡如是说:无论是try-catch还是throws,只要你能自圆其说,就O了。当然,真正的编程中,肯定不会像说的这么轻松,我相信这是一个时间上和经验上的积累吧。
     
      其实,上面的内容看完之后,就会发现基本都是废话,有用的话基本都是google或wiki的,事实本来就是这样,很多时候,google,wiki,书本,API都能帮我们解决问题,而指望无论何时、无论何地,遇到问题就有人冒出来讲解一下的想法是对自己相当不负责任的。同时,我也不认为浏览下网页,看几篇博客能给你的知识带来多大的收益,因为网络论坛神马的大多都是浮躁的。我只想希望,如果,你google一下,如果你能发现这篇东西,它可以带给你一些东西,无论是异常还是以外的。
分享到:
评论

相关推荐

    java异常处理习题

    Java 异常处理是 Java 编程语言中的一种重要机制,用于处理程序在运行时可能出现的错误或异常情况。下面是关于 Java 异常处理的习题和知识点总结: 一、Java 异常处理关键字 * Java 中用来抛出异常的关键字是 `...

    JAVA中异常处理的WORD文档

    Java中的异常处理是编程实践中必不可少的一部分,它确保了程序在遇到错误或异常情况时能够优雅地处理并继续执行,或者至少提供有用的错误信息。异常处理的主要目的是提高程序的健壮性和稳定性。 1. 为什么需要异常...

    java 中异常处理

    java中的异常处理以及怎么用,在什么地方用

    java程序中的异常处理

    4. **异常处理中的finally块**: - 虽然本例中没有体现,但在实际开发中经常使用`finally`块来确保无论是否发生异常,某些清理工作都能被执行(例如关闭文件资源等)。 5. **自定义异常**: - 当标准异常类...

    java异常处理练习题

    java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验

    Java中异常处理.pdf

    Java中的异常处理是一种重要的编程机制,它用于处理程序运行时可能出现的错误情况,以提高程序的稳定性和可维护性。异常处理是Java编程语言的核心特性之一,它通过使用`Throwable`类及其子类来实现。 `Throwable`是...

    java异常处理例题代码.pdf

    从给定的文件内容中可以看出,这是一系列Java程序示例,它们用来说明Java异常处理机制。异常处理是Java语言中一个非常重要的部分,它能够帮助程序在遇到错误情况时仍然可以正常运行或者优雅地退出。这些程序通过各种...

    java全局异常统一处理

    在Java异常处理机制中,当一个方法抛出异常时,该异常将被传递到调用该方法的方法中,直到找到能够处理该异常的代码为止。在这个过程中,Java使用了try-catch语句块来捕获和处理异常。通过在一个或多个catch语句块中...

    第7章 java异常处理

    第7章 java异常处理

    java实验报告4-异常处理

    Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本实验报告“java实验报告4-异常处理”旨在帮助初学者掌握Java中的异常处理机制,以及如何利用log4j进行日志...

    高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架

    Java 异常处理是 Java 语言中的一个关键组件,用于处理程序运行过程中的错误和异常。在 Java 中,异常处理框架是 Java 语言健壮性的一个重要体现。本文将从 Java 异常的基本概念和语法开始,讲述 Java 异常处理的...

    有关java开发中对异常的处理知识

    在Java开发过程中,异常处理是一项非常重要的技能。良好的异常处理不仅可以提升程序的健壮性,还能提高用户体验。本篇将详细介绍Java中的异常处理机制及其应用。 #### 应用程序的非预期情况 在程序运行过程中,经常...

    java异常处理

    介绍关于Java中异常处理的一些基本操作。其中包括try{}catch{}以及throws还有finally的用法。

    java 异常处理ppt

    Java异常处理是编程中至关重要的一个环节,它允许开发者优雅地处理程序运行时可能出现的错误,确保程序的健壮性和稳定性。Java中的异常处理机制基于一个独特的概念——异常(Exception),这是一种表示程序运行中...

    C++ Java异常处理比较

    本文将对C++和Java两种语言的异常处理机制进行深入的比较和分析,探讨它们的相似之处以及不同之处,以帮助开发者更好地理解和应用这两种语言。 首先,异常处理的基本目的是捕获并处理运行时错误,这些错误通常包括...

    Java 的异常处理.pdf

    Java的异常处理是编程中一个重要的概念,它用于在程序运行过程中捕获并处理错误情况。异常处理的主要目的是保持程序的稳定性和优雅性,避免因为未预期的问题导致程序崩溃。在Java中,异常处理通过使用try-catch块来...

    java常见异常处理.ppt

    Java异常处理是编程中至关重要的一个环节,它用于管理和恢复程序在执行过程中可能出现的问题。Java异常分为两大类:错误(Error)和异常(Exception)。错误通常指的是系统级别的问题,如JVM内部错误或资源耗尽,...

Global site tag (gtag.js) - Google Analytics