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

Java 异常知识点

 
阅读更多

一、异常的继承结构

      Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。
      Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。

      Error体系:Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以,在进行程序设计时,应该更关注Exception体系。
      Exception体系:Exception体系包括RuntimeException 和其他非RuntimeException

      RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。

      处理RuntimeException的原则是:如果出现 RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。
     其他(IOException等等)checked异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。

 

二、checked exception和runntime exception

 

 * Runtime exceptions:

   在定义方法时不需要声明会抛出runtime exception;

   在调用这个方法时不需要捕获这个runtime exception;

   runtime exception继承自java.lang.RuntimeException或java.lang.Error。

    例如:

public void method1(){
        if(true){
             throw new RuntimeException();
        }
}

public void method2(){
        method1();
}

     【注意】:method1方法会抛出RntimeEeption,但是在定义时不需要声明,在调用时也不需要用try...catch..来捕获该异常。

 

  * Checked exceptions:

   定义方法时必须声明所有可能会抛出的checked exception;

   在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去;

        checked exception都是继承自java.lang.Exception。

    例如:

public void method1() throws IOException{
        if(true){
             throw new IOException();
        }
}

public void method2() throws IOException{
        method1();
}

public void method3(){
        try{
            method1();
        }catch(Exception e){
            e.printStackTrace();
        }
}

 

 三、override时应遵循的规则:

 

    规则:“当override一个方法时,只能够申明和抛出不比它的父类版本中申明的异常多的异常”

分享到:
评论

相关推荐

    JAVA核心知识点整理.zip

    java核心知识点整理,面试很有用 Java核心知识点2.JVM JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它...

    jave异常学习知识点总结

    java异常知识点总结 包含异常的分类 异常的处理 异常的捕捉方法

    Java基础知识点总结.docx

    以下是对这些知识点的详细说明: 一、Java概述: Java是由Sun Microsystems开发的一种跨平台的编程语言,它具有“一次编写,到处运行”的特性,通过Java虚拟机(JVM)实现平台无关性。Java有丰富的类库支持,适用于...

    java异常处理习题

    下面是关于 Java 异常处理的习题和知识点总结: 一、Java 异常处理关键字 * Java 中用来抛出异常的关键字是 `throw`。 * `try`、`catch` 和 `finally` 是 Java 异常处理的三个主要组成部分。 二、异常处理机制 *...

    JAVA核心知识点整理

    本文将深入探讨在"JAVA核心知识点整理"中涉及的关键概念和技术。 一、Java基础 Java的基础知识包括语法、面向对象特性(封装、继承、多态)、异常处理、输入/输出流以及集合框架。了解基本类型、类、接口、包的概念...

    java基础知识点汇总

    Java 基础知识点汇总 以下是 Java 基础知识点汇总的详细说明: ### 1. 面向对象的特征 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它强调使用对象和类来组织和结构化代码。面向对象编程的...

    java总结大全--包括所有java基础知识点

    本节将对Java基础知识点进行总结,涵盖变量、数据类型、运算符、控制流程、方法、数组、内部类、继承、多态、接口、异常处理等知识点。 变量和数据类型 在Java中,变量是用来存储值的符号名称。Java提供了八种基本...

    异常处理机制知识点小总结

    下面是对Java异常处理机制的详细解析。 在Java中,异常是程序运行时发生的错误,它中断了正常的代码流程。异常类继承自`java.lang.Throwable`,分为两种类型:Error和Exception。Error是系统级别的问题,如虚拟机...

    java面试题.docx

    Java 异常知识点: * Java 异常的概述 * 异常的类型和分类 * try-catch 语句和 finally 语句 * 异常的抛出和捕获 Spring 框架知识点: * Spring 框架的概述 * Spring 的 IOC 容器 * Spring 的 AOP 编程 * Spring ...

    java基础知识点

    Java 基础知识点 Java 是一种面向对象的编程语言,它具有抽象、继承、封装、多态性等特征。下面是 Java 基础知识点的详细解释: 1. 面向对象的特征: 面向对象编程的四个基本特征是抽象、继承、封装和多态性。 *...

    java 知识点整理

    Java知识点整理 Java是一种广泛使用的面向对象的编程语言,它具有丰富的API(应用程序接口)和强大的功能。在Java考试中,掌握以下知识点至关重要: 1. **JAVA SE**(Java标准版)是Java的核心部分,包括基础语法...

    Java异常处理-异常处理知识点总结及企业真题

    企业真题部分可能涵盖上述知识点的应用,包括异常类型的识别、`try-catch-finally`结构的使用、`throw`和`throws`关键字的理解,以及如何创建和使用自定义异常。通过解答这些题目,开发者可以检验和提升自己在异常...

    java知识点总结

    以上内容仅是Java知识点的冰山一角,实际学习中还需要深入理解JVM原理、设计模式、反射、注解、模块化系统(如Java 9+的模块系统)以及现代开发工具如Maven、Gradle的使用。不断实践和项目经验积累,才能真正掌握...

    Java异常学习资料

    Java异常处理是Java编程语言中的一个关键...通过深入学习和实践这些Java异常处理的知识点,你将能够编写出更加健壮和易于维护的代码,应对各种运行时可能出现的问题。这份资料将是你探索Java异常处理世界的宝贵指南。

    java编程知识点

    在本文中,我们将深入探讨Java编程的核心知识点,包括语法基础、面向对象编程、异常处理、集合框架、多线程、I/O流、网络编程以及一些常用的开发工具。 1. **语法基础**: Java的基础语法类似于C++,但更加强调...

    JAVA基础知识点汇总

    10、Servlet中的forward和redirect有什么区别: Forward是服务器内部的重定向,服务器直接访问目标地址的url,地址不变。 Redirect:客户端的重定向,完全跳转,地址改变。...9)Exception(异常对象)

    学习android需要的Java知识点列表.pdf

    ### 学习Android所需Java知识点概述 为了更好地掌握Android开发技术,深入了解并熟练掌握Java语言是必不可少的基础之一。本文将根据“学习android需要的Java知识点列表”中的内容,详细阐述学习Android开发过程中...

    java知识点总结思维导图(xmind)

    这份"java知识点总结思维导图(xmind)"是为帮助学习者系统性地理解和掌握Java核心技术而精心整理的资料。思维导图作为一种有效的学习工具,能够帮助我们更好地组织和记忆信息,提高学习效率。 首先,让我们从基础...

Global site tag (gtag.js) - Google Analytics