`
zhongsw
  • 浏览: 24301 次
文章分类
社区版块
存档分类
最新评论

黑马程序员_Java的异常机制及处理方法

阅读更多

---------------------- android培训java培训 、期待与您交流! ----------------------

 

 

 

 

异常就是程序在运行时出现的不正常情况.

异常的由来.问题也是现实生活中一个具体的事物,也可以通过JAVA的类的形式进行描述,瓶封装成对象.

              其实就是JAVA对不正常情况进行描述后的对象体现.

对于问题的划分,分两种,:一种是严重的问题,一种是非严重的.

对严重的,JAVA通过ERROR类进行描述,

对于Error一般不编写针对性的代码对其进行处理.

对于非严重的JAVA通过Exception类进行描述.对于 Exception可以全县针对性的处理方式处理.

 

1.       异常的处理.

java提供了特有的语句进行处理.

try

{

        需要被检测的代码.

}

catch(异常类 变量)

{

        处理异常的代码(处理方式)

}

finally

{

        一定会执行的语句.

}

 

throws Exception//在功能上通过throws的了声明了该功能有可能会出现的问题.

 

异常:

是什么?是对问题的描述.将问题进行对象的封装.

异常体系:

   Throwable

又分为ErrorException

其中ExceptionRuntimeException比较特殊.

异常体系特点:

异常体系中所有类以及建立的对象都具备可抛性.\

也就是说可以被throwthrows关键字所操作.

 

throwsthrow的区别,

throws使用在函数上,throw使用在函数内.

throws后面跟异常类.可以跟多个,用逗号隔开.

throw后跟的是异常对象.

 

RuntimeException运行时异常

在函数内抛出该异常,函数上可以不用声明的,编译一样通过

如果在函数上声明了该异常.调用者可以不用进行处理.编译一样通过.

 

自定义异常extends Exception

因为父类中已经把异常信息的操作都完成了,所以子类只要在构造时,将异常信息传递给父类通过super语句.那么就可以直接通过getMessage 方法获取定义异常信息.

自定义异常时:如果该异常的发生,无法在继续进行运算.就让自定义异常继承RuntimeException

当要定义自定义异常的信息时,可以使用父类已经定义好的功能,异常信息传递给父类的构造函数.

class MyException extends Exception

{

        MyException(String  message)

        {

               super(message);

        }

}

 

异常处理能让正常流程代码和问题代码分离.

对多异常处理:

  1. 声明异常时,建议声明更为具体的异常,这样处理更加方便和处理的更具体.
  2. 对方声明了几个异常,就对应有几个catch.不要定义多余的catch.如果多个catch 块中的异常出来继承关系,父类异常catch块放在最下面.

 

对于异常分两种.

  1. 编译时被检测的异常
  2. 编译时不被检测的异常(运行时异常,就是RuntimeException以及其子类).

 

 

finlly代码块:定义一定执行的代码,通常用于关闭资源.

 

当函数内容有throw异常对象,并末进行try处理.必须要在函数上声明.否则编译失败.

注意,RuntimeException除外,也就说如果函数内抛出RuntimeException异常,函数上可以不用声明.

如果函数声明了异常,调用者需要进行处理.处理方法可以throws 可以try.

异常有两种

1.       编译时被检测异常.

a)         该异常在编译时如果没有处理.那么编译失败,

b)        该异常被标识,代表这可以被处理

2.       运行时异常(编译时不检测).

a)         在编译时,不需要处理,编译器不检查.

b)        该异常的发生,建议不处理,让程序停止,需要对代码进行修正.

异常处理的三种格式.trycatchfinally第二种trycatch,第三种tryfinally

System.exit(0); 系统退出,jvm结束.

 

多个 catch,父类的catch放到最下面.

 

如果该异常处理不了,但并不属于该功能出现的异常.

可以将异常转换后,在抛出和该功能相关的异常.

或者异常可以处理.当需要将异常产生的和本功能相关的问题提供出去,让调用者知道,并且处理.也可以捕获异常处理后转换新的异常抛出.

 

异常在子父类覆盖中的体现:

1.       子类在覆盖父类时,如果父类的方法抛出了异常,那么子类的覆盖方法,只能抛出父类的异常或者父类异常的子类或者不抛.

2.       如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集.

3.       如果父类或者接口方法中没有抛出异常,那么子类在覆盖方法时,也不可以抛出异常,只能处理.

 

异常的好处:

1.       将问题进行封闭.

2.       将正常流程代码和问题代码相分离,方便于阅读.

 

被不同的修饰符修饰后在不同的目的地访问权限总结:

 

                                   public             protected        default            private

同一个类中                  可以              可以              可以              可以

同一个包中                  可以              可以              可以              不可以

子类中                         可以              可以                               

不同包中                     可以                                                 

 

 

 

 

 

 

---------------------- android培训java培训 、期待与您交流! ----------------------

分享到:
评论

相关推荐

    黑马程序员_Java基础辅导班教程课件[第01期]第13天

    在"黑马程序员_Java基础辅导班教程课件[第01期]第13天"中,我们聚焦于Java编程语言的基础知识,这是一门面向初学者的课程,旨在帮助学员快速掌握Java开发的基本技能。第13天的课程通常会涵盖上一天(第12天)所学...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day02

    《黑马程序员_hibernate框架开发2016版讲义...通过对黑马程序员提供的这门课程的学习,开发者不仅能掌握Hibernate的核心概念和技术,还能提升在实际项目中的数据库操作效率,为构建高效、稳定的Java应用打下坚实基础。

    黑马程序员_Java基础辅导班教程课件[第01期]第14天

    【Java基础辅导班教程】- 黑马程序员 在编程世界中,Java是一种广泛应用的面向对象的编程语言,尤其在企业级应用开发中占据主导地位。"黑马程序员"作为知名的IT培训机构,提供了丰富的Java基础辅导课程,旨在帮助...

    01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip

    【标题】"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip" 提供的是一门由黑马程序员机构推出的Java基础强化课程,由讲师张孝祥主讲,旨在深入讲解Java编程的基础知识并进行能力提升。 【描述】中提到...

    黑马程序员_毕向东_Java基础源码.rar

    这个名为“黑马程序员_毕向东_Java基础源码.rar”的压缩包文件,包含了丰富的Java基础源代码实例,对于初学者来说,是深入了解Java编程的良好资源。 一、Java基本语法 Java语言以其严格的类型检查和面向对象特性...

    黑马程序员_Java基础辅导班教程课件[第01期]第11天

    "黑马程序员_Java基础辅导班教程课件[第01期]第11天"是一个专门为初学者设计的培训课程,旨在帮助学员深入理解和掌握Java的核心概念。这个课程可能是通过视频形式进行的,结合了理论讲解和实际操作,以便让学习者能...

    黑马程序员_(适合初学者入门的Java基础视频)

    "黑马程序员_(适合初学者入门的Java基础视频)"是一套专为初学者设计的Java基础教学课程,旨在帮助零基础的学习者逐步掌握Java编程的基本概念和技能。 该视频教程涵盖了Java的基础知识,包括: 1. **环境搭建**:...

    黑马程序员_Java基础辅导班教程课件[第01期]第10天

    5. **异常处理**:Java中的异常处理机制用于捕获和处理程序运行时的错误,使用try-catch-finally语句块进行异常的捕获和处理。 6. **集合框架**:Java集合框架是存储和管理对象的重要工具,包括List、Set和Map接口...

    黑马程序员_Java基础辅导班教程课件[第01期]第7天

    5. **异常处理**:Java提供了异常处理机制,通过try-catch-finally语句块来捕获和处理程序运行时可能出现的错误,保证程序的健壮性。 "视频下载地址.txt"可能提供了该堂课的视频教程链接,视频通常更直观地展示了...

    黑马程序员入学Java精华总结

    ### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...

    黑马程序员_毕向东_Java基础视频教程第18天-11-IO流(文本文件读取方式二).zip

    在本教程“黑马程序员_毕向东_Java基础视频教程第18天-11-IO流(文本文件读取方式二)”中,主讲人毕向东将深入讲解如何使用Java有效地读取文本文件,特别是第二种常用的方法。以下是关于Java IO流和文本文件读取的...

    黑马程序员_从零开始征服Android之旅(第二季)源码和笔记(上)

    《黑马程序员_从零开始征服Android之旅(第二季)源码和笔记(上)》是一部针对初学者的全面Android开发教程,旨在帮助学员系统地掌握Android应用开发的基础知识和实战技巧。通过本教程的学习,你可以从理论出发,...

    黑马程序员_毕向东最新经典Java基础视频

    根据提供的文件信息,我们可以推断出这是一套由知名IT教育机构“黑马程序员”出品、由讲师毕向东主讲的Java基础教学视频。由于实际视频内容无法直接获取,本篇将依据标题、描述以及部分标签内容,综合分析并展开相关...

    黑马程序员_struts2框架开发2016版讲义和笔记资料_day01_day02_day03_day04

    总的来说,这份"黑马程序员_struts2框架开发2016版讲义和笔记资料"是一个全面学习和掌握Struts2框架的宝贵资源,涵盖了从基础到实践的所有重要方面,对于提升Java EE开发者的技能水平大有裨益。通过系统学习,开发者...

    黑马程序员Javase笔记

    "黑马程序员Javase笔记"是一个自学者在学习黑马程序员提供的Java全套课程过程中整理的笔记,主要涵盖了Java Standard Edition (Javase) 的核心内容。下面将详细讨论其中的关键知识点。 首先,DOS命令是操作系统中的...

    黑马程序员_历经5年锤炼(适合初学者入门的Java基础视频)(解压版)

    通过这套《黑马程序员_历经5年锤炼(适合初学者入门的Java基础视频)》,初学者能够系统地学习Java的基础知识,为后续深入学习和实战打下坚实的基础。Java作为一种强大的编程语言,在软件开发领域有着不可替代的地位,...

    黑马程序员入学Java知识(精华总结)

    ### 黑马程序员入学Java知识(精华总结) #### 一、Java概述与基础知识 ##### 1、何为编程? 编程是指使用计算机语言来编写指令,这些指令被计算机执行以完成特定任务的过程。通过编程,我们可以控制计算机的行为...

    黑马程序员入学Java知识——精华总结.doc

    - **健壮性**:Java有严格的类型检查和异常处理机制,能减少程序中的错误。 - **高效性**:虽然Java是解释型语言,但JVM通过即时编译(JIT)提升运行效率。 3. **JRE与JDK的区别**: JRE(Java Runtime ...

Global site tag (gtag.js) - Google Analytics