《Java面向对象》课件-4.5 异常_第1页
《Java面向对象》课件-4.5 异常_第2页
《Java面向对象》课件-4.5 异常_第3页
《Java面向对象》课件-4.5 异常_第4页
《Java面向对象》课件-4.5 异常_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块四面向对象-高阶特性异常任务五学习目标

先定一个小目标!熟悉什么是异常,能够说出Error类和Exception类区别掌握try...catch语句和finally语句,能够使用try...catch语句和finally语句处理异常掌握异常的抛出和声明,能够在程序中使用throw语句和throws语句分抛出异常和声明异常掌握自定义异常类,能够编写自定义异常类

什么是异常生活中,难免会遇到意外情况和突发状况。例如,烧水时由于疏忽导致水烧开后溢出热水,可能会进一步导致短路,甚至引发触电等事故。这时应立即采取措施,处理突发情况。什么是异常同样,在Java编程中也可能会遇到各种异常情况。例如,程序运行时磁盘空间不足、网络连接中断、访问的文件不存在等。这些情况会导致程序出现错误,并影响其他正常代码的执行。为此,Java提供了异常处理机制来帮助程序员检查和处理可能出现的错误,以保证程序的可读性和可维护性。什么是异常下面通过一个案例来认识一下异常。案例演示Example21.java源代码什么是异常案例的运行结果如下图所示。案例演示什么是异常Java中的异常类都继承自java.lang.Throwable类。Throwable类的继承体系如下。什么是异常Error错误类,表示Java运行时产生的系统内部错误或资源耗尽的错误,这类错误比较严重,仅靠修改程序代码本身无法恢复正常执行。Exception异常类,可以被程序处理和捕获的异常,通常情况下,在开发Java程序中进行的异常处理,都是针对Exception类及其子类。

什么是异常异常分为编译时异常和运行时异常。编译时异常是指在编译过程中检测到的异常,而运行时异常是指程序运行时发生的异常,编译时检测不到这种异常。Exception类中,所有的RunTimeException类及其子类的实例为运行时异常,其他类及其子类为编译时异常。编译时异常运行时异常什么是异常Throwable类提供了一系列方法用于处理程序运行时的各种异常情况,Throwable类的子类可以通过重写这些方法,实现本类异常的处理。方法名称功能描述getMessage()返回异常的详细描述信息。通常用于获取异常产生的原因或错误的描述getStackTrace()以数组形式返回异常的跟踪栈信息printStackTrace()将异常的跟踪栈信息输出到控制台,并显示异常的类型、消息以及在代码中的位置try...catch和finally语句程序运行时,JVM会创建一个异常对象来表示异常,并将相应的异常信息封装在异常对象中。捕获到异常后,JVM会将异常对象传递给异常处理器,如果异常处理器没有进行处理,则会将该异常相关信息输出,并终止程序的运行。对此,可以对程序可能出现异常的代码进行监控,出现异常时,对其进行捕获并处理。try...catch和finally语句Java提供了try…catch语句用于捕获并处理异常,try…catch语句捕获并处理异常的语法格式如下。try{//可能会出现异常的代码}catch(异常类型异常对象){//处理异常的代码}catch语句后的异常对象参数用于指明它能够处理的异常类型,其类型必须是Exception类或其子类。catch代码块可以有多个,用来匹配多个异常,但捕获父类异常的catch代码块必须放在捕获子类异常的catch代码块之后。try...catch和finally语句try...catch语句的异常处理流程。try...catch和finally语句下面修改文件Example21.java,使用try…catch语句对该程序中出现的异常进行捕获案例演示Example22.java源代码try...catch和finally语句案例的运行结果如下图所示。案例演示try...catch和finally语句try代码块中,发生异常的语句后面的代码是不会被执行的,然而在程序中有一些特定的语句无论异常是否发生都需要执行。为了解决这个问题,可以在try...catch语句后加一个finally代码块,finally代码块中存放的代码一定会被执行。try...catch和finally语句try…catch…finally语句的异常处理流程。try...catch和finally语句下面修改文件Example22.java,演示try…catch…finally语句的使用。案例演示Example23.java源代码try...catch和finally语句案例的运行结果如下图所示。案例演示异常的抛出和声明当程序中存在潜在的异常时,如果没有得到妥善的处理,可能导致程序崩溃。为此,Java提供了throw语句和throws语句分别用于抛出异常和声明异常,将方法可能出现的问题上报给方法的调用者,以便对异常进行相应处理,避免不必要的错误和异常情况。异常的抛出和声明1.throw语句throw语句的作用:在方法或代码块中抛出该方法或代码块有可能发生的异常。使用thow关键字抛出异常的语法格式如下:throw异常对象;异常的抛出和声明下面通过一个案例演示throw关键字的使用。案例演示Example24.java源代码异常的抛出和声明案例的运行结果如下图所示。案例演示4.5.3异常的抛出和声明2.throws语句throws关键字的作用:用于在方法声明中指定方法可能抛出的异常类型。使用throws关键字,调用者在调用声明了throws的方法时,可以明确知道该方法可能引发的异常情况。使用thow关键字抛出异常的语法格式如下:[修饰符]返回值类型方法名(参数列表)throws异常类1[,异常类2...]{//方法体.....}throws关键字后可以跟1个或多个异常类之间使用逗号进行分隔,表示该方法可能有多种异常情况产生。4.5.3异常的抛出和声明下面通过一个案例演示throws关键字的使用,在方法中声明出现的异常类型并抛出。案例演示Example25.java源代码自定义异常类Java中提供了多种预定义的异常类型,以覆盖编程中可能遇到的大多数异常情况。然而,在某些特定情况下,需要使用自定义异常类来表示异常。自定义异常类是通过继承

Exception类或其子类来创建的,开发者可以根据特定的需求定义自己的异常类。自定义异常类下面通过一个判断年龄是否合法的案例演示自定义异常类。案例演示Example26.java源代码自定义异常类案例的运行结果如下图所示。案例演示【案例4-5】用户登录验证在大多数网站或应用程序中,都会有用户登录验证程序来验证用户身份,以记录操作的用户信息和防止恶意登录。本案例要求编写一个用户登录验证程序,模拟网站登录时的身份验证过程,要求如下。首先输入5个用户信息(包括用户名和密码),模拟用户的注册。用户注册完成后进入登录界面,需要输入用户名和密码进行登录验证。如果用户名不存在于5个合法用户中,程序将提示“您不是合法用户!”。如果用户名存在于5合法用户中,但密码不正确,程序将提示“密码错误!”。如果用户名和密码都正确,程序将提示“登录成功”。每个用户每天只有三次登录机会,如果连续三次登录失败

,程序则自动退出。本案例要求使用自定义的异常类实现账号不合法和密码错误的登录失败提示。案例描述【

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论