热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

异常和成员内部类

异常和内部类前言一、异常1.异常2.避免异常的两种方式3.异常的基本语法1.使用try..catch处理异常2.使用多个catch块3.使用异常的共同父类Exception来捕获异


异常和内部类

  • 前言
  • 一、异常
    • 1.异常
    • 2.避免异常的两种方式
    • 3.异常的基本语法
      • 1.使用try..catch处理异常
      • 2.使用多个catch块
      • 3.使用异常的共同父类Exception来捕获异常
      • 4.关于异常的错误输出
      • 5.关于finally代码块-无论是否产生异常,都会执行的代码块
      • 6.关于异常返回值问题
      • 7.关于异常的调用链
      • 8.JDK新增的自动关闭接口
      • 9.一组关键字throws、throw
  • 二、内部类
    • 1.分类
    • 2.成员内部类
    • 3.内部类使用方法\规则




前言





一、异常

运行时抛出的程序错误
编译出错不属于此处所说的异常


1.异常

在这里插入图片描述
运行时指的是已经编译通过得到class文件,再由JVM执行过程中出现的错误
在这里插入图片描述


2.避免异常的两种方式

在这里插入图片描述


3.异常的基本语法

在这里插入图片描述


1.使用try…catch处理异常

在这里插入图片描述


2.使用多个catch块

在这里插入图片描述


3.使用异常的共同父类Exception来捕获异常

在这里插入图片描述


4.关于异常的错误输出

在这里插入图片描述


5.关于finally代码块-无论是否产生异常,都会执行的代码块

在这里插入图片描述


6.关于异常返回值问题

在这里插入图片描述


7.关于异常的调用链

在这里插入图片描述


8.JDK新增的自动关闭接口

在这里插入图片描述


9.一组关键字throws、throw

在这里插入图片描述
在这里插入图片描述

package Exception;
import book_management.user.User;
import java.util.Scanner;public class Login {public static final String USER = "WANG";public static final String PASSWORD = "123";public static void main(String[] args) {try {login();System.out.println("登陆成功");}catch (UserNameException e){e.printStackTrace();}catch (PasswordException e){e.printStackTrace();}}public static void login() throws UserNameException{Scanner scanner = new Scanner(System.in);System.out.println("请输入用户名");String name = scanner.next();System.out.println("请输入密码");String password = scanner.next();if (!name.equals(USER)) {//抛出用户异常throw new UserNameException("用户名错误");}if (!password.equals(PASSWORD)) {//抛出密码错误异常throw new PasswordException("密码 错误");}}
}//用户名异常
class UserNameException extends Exception{public UserNameException(String msg){super(msg);}
}
//密码异常
class PasswordException extends RuntimeException{public PasswordException(String msg){super(msg);}
}

二、内部类

内部类:就是将类结构的定义套在另一个类的内部


1.分类

在这里插入图片描述


2.成员内部类

在这里插入图片描述


3.内部类使用方法\规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 面向对象之3:封装的总结及实现方法
    本文总结了面向对象中封装的概念和好处,以及在Java中如何实现封装。封装是将过程和数据用一个外壳隐藏起来,只能通过提供的接口进行访问。适当的封装可以提高程序的理解性和维护性,增强程序的安全性。在Java中,封装可以通过将属性私有化并使用权限修饰符来实现,同时可以通过方法来访问属性并加入限制条件。 ... [详细]
  • 本文由编程笔记小编整理,主要介绍了使用Junit和黄瓜进行自动化测试中步骤缺失的问题。文章首先介绍了使用cucumber和Junit创建Runner类的代码,然后详细说明了黄瓜功能中的步骤和Steps类的实现。本文对于需要使用Junit和黄瓜进行自动化测试的开发者具有一定的参考价值。摘要长度:187字。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 本文介绍了Java中Hashtable的clear()方法,该方法用于清除和移除指定Hashtable中的所有键。通过示例程序演示了clear()方法的使用。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
author-avatar
水平蓝精灵天堂_678
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有