`
御天田
  • 浏览: 15259 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类

java中的异常机制小结

阅读更多
Java中的异常机制


(“异常”我可不太喜欢这俩字。。。)
什么是异常机制?
所谓异常,就是程序运行时可能出现的一些错误,当程序运行出现错误时,java运行环境就用异常类Exception的相应子类创建一个异常对象(java异常的父类都是Execption),并等待处理,例如:当读取一个不存在的文件时,运行环境就用异常类IOException创建一个对象。Java使用try----catch语句来处理异常,将可能出现的异常操作放在try部分,当其发生异常后,try部分就立即结束,而转向相应的catch部分。
那么我们来总结一下异常机制的关键字有哪些,try、catch、finally、throw、throws共五个,它们有什么不同呢?
try---catch:上面我们已经提到了它的用法,这里就不再做阐述啦!
finally:它是异常语句中必须要执行的,换句话说就是:不管程序发不发生异常,都会执行finally里面的语句,所以,当我们的某个语句可能发生异常,但它后面的语句必须执行,我们就可以将它后面的语句写到finally中,就避免重复啦!
throw:用来实例化一个新的异常
throws:用来抛出实例化的新异常
异常的分类:
异常通常分为两类:运行时异常和强制异常
运行时异常:顾名思义,运行异常就是在程序运行时报的异常,我们在写代码时它是不会给予任何报错提示,也许你会说,我有碰到代码会提示的那种异常啊?嘿嘿,那它就不是运行时异常啦!就是我们马上要说的强制异常。虽然运行时异常时在运行时发生的,但是我们可以再运行时就杜绝它。
强制异常:根据我的理解,强制异常就是那些在写代码的过程中,如果系统会提示你这里需要处理异常,那么这个异常就是强制异常了。它是由throw来实例化,用throws来抛出的。
常见的运行时异常:
异常这个东西,经常碰到,辛辛苦苦写完代码一测试,坑爹啊!。。。异常来了,什么NullPointerException、IndexOutOfBoundsException、ClassCastException等等就找上门了,虽然我很不喜欢它们,没办法!它们就是很喜欢我。这里的异常我在写的时候代码是不会报错的,只有在运行的时候它才会跳出来,所有它们就是运行时异常啦!碰到这些异常千万别冒火,因为一冒火就挂了。。。。。。
NullPointerException:空指针异常,首先我们根据控制台的提示找到对应的代码,如果找到的代码中的对象太多,这就不能硬碰硬的一个一个去找它们中谁空指针了,会找死去滴。。。我们可以写一个Sytem.out.println();输出语句,测出具体是哪个空指针了,再顺藤摸瓜,找出问题所在,通常会因为没有给对象分配内存空间,或者我们在给它分配内存空间之前使用了它,因为程序是自上而下运行滴。通常我们在用的时候可以先写个判断它是否为空的语句,就可以避免空指针了。
IndexOutOfBoundsException:下标越界异常。这种异常通常发生在数组中,也就是我们使用数组时超过了数组分配的最大内存空间,当出现这种异常时,就得好好检查数组啦!
ClassCastException:当试图将对象强制转换成不是实例的子类时,抛出该异常。
常见的强制异常:
FileNotFoundExcetpion:找不到相应的文件,处理这种异常也很简单,因为错误就是这个文件找不到,就得核对一下文件路径和是否有这个文件啦!
IOException:当发生某种 I/O 异常时,抛出此异常。此类是失败或中断的 I/O 操作生成的异常的通用类。
需要注意的是,强制异常是不能完全避免滴
以上都是我经常碰到的异常了,在这里写出来跟大家分享一下。
分享到:
评论

相关推荐

    java异常机制小结

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

    java异常小结

    首先,异常机制是Java中用于处理程序运行时错误的框架。当程序执行过程中遇到问题,异常机制会提供一个安全的出口,使得程序控制权能够转移到预先定义的异常处理器。传统的错误处理方式,比如通过特殊返回值来表示...

    java异常讲解

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

    Java异常处理操作实例小结

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

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

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

    java基础小结

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

    java异常分类

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

    Java多线程小结

    ### Java多线程小结 #### 一、多线程的概念与意义 多线程是Java编程中的一个重要概念,指的是程序在运行时可以同时执行多个线程的能力。它能够提高程序的性能,尤其是在多核处理器的环境下。多线程使得程序能够更...

    异常类:自定义异常类

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

    Java异常小结

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

    Java Socket通信小结

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

    Java自定义异常类_2.txt

    #### 五、小结 通过自定义异常类,我们可以更灵活地控制异常的抛出和处理过程。这不仅有助于提高代码的健壮性,还能使得程序更加易于理解和维护。在实际开发中,合理地设计和使用自定义异常是非常重要的。

    java笔试题小结

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

    java的输入语句小结.docx

    在Java编程语言中,输入语句是程序与用户交互的关键部分。这里我们将深入探讨两种主要的输入方式:使用`Scanner`类和`BufferedReader`类。这两种方法都允许从控制台获取用户输入,但它们的使用方式和适用场景有所...

    java基础知识从业必备知识点结构图小结.rar

    为了全面理解Java基础知识,本小结将按照给定的文件名,逐一解析关键知识点。 1. **Java基础知识** 这一部分通常包括Java语言的基础语法,如变量、数据类型、运算符、流程控制(if语句、switch、for、while循环等...

    java开发经验小结

    在Java开发中,良好的编程习惯和高效的设计原则对于代码质量和性能至关重要。以下是一些从编码规范到性能优化的关键知识点: 1. **编码规范**:规范的编码习惯是提升代码可读性和可维护性的基础。保持充足的代码...

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

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

    Java(J2SE、J2EE)学习小结

    10. 异常处理:Java通过`try-catch-finally`块处理异常,`try`中捕获异常,`catch`中处理,`finally`确保代码的执行。事件机制主要在GUI编程中,如Swing和AWT库,用于响应用户的交互。 11. 抽象类与接口:抽象类...

Global site tag (gtag.js) - Google Analytics