3:Throwable-Java API 实战

2023-05-16

目录

  • 1. 异常的介绍
  • 2. 异常举例以及解决常见错误bug方案
  • 3. RuntimeException
  • 4. trycatch作用,闲扯淡诱骗毕业设计
  • 5. NullPointerException空指针异常
  • 6. throws
  • 7. throws和trycatch区别,用途区别
  • 8. 手把手教你编写装X自定义异常

1. 异常的介绍

Throwable有两个子类

1.错误 Error

  • 不常见
  • 基本上不能解决
  • 尽量避免

2.异常 Exception

  • 常见
  • 可以定位,通过修改代码解决
  • 不是编译失败问题,代码语法没有问题

2. 异常举例以及解决常见错误bug方案

  • 定位错误:编写好程序后,运行程序,在输入运行结果栏中会存在异常提示,红色中蓝色链接,就能找到自己的代码错误
  • 解决错误:先阅读异常提示,如果了解就直接修改,如果不了解那就搜索异常提示,了解问题所在,解决问题

最经典异常展示
在这里插入图片描述

3. RuntimeException

异常类有两个主要的子类:IOException 类和 RuntimeException

1.运行时异常

  • 运行时异常可修改也可不修改,不会对项目运行产生影响
  • 运行时异常像游戏漏洞,它不影响我们玩游戏,但是我们有一些漏洞可以捡,比如更新以后某个英雄的技能,在某个时间可以无限的放或者平A就能秒死人

2.非运行时异常

  • 非运行时异常必须修改,因为这样会使得项目直接无法运行(现在的编译器比较智能,一定会让你try catch
  • 但是非运行时异常导致你进不去游戏

编译器中,运行时异常不会要求你捕获,但是非运行时异常会强制要求你捕获,所以我们在编写自定义异常的时候不会定成运行时异常

4. trycatch作用,闲扯淡诱骗毕业设计

try catch的作用

  • 定位一个代码块的异常,运行完成这个代码块后,抛出这个代码块的异常
  • try catch可以搭配finally使用,意思是在捕获完成以后使用,也可以不搭配
  • 但使用finally就必须搭配try catch
  • try catch的捕获内容可以自定义,可以让它抛出异常,也可以不让它抛出异常,所以根据这个小漏洞,你可以去骗毕业设计,但工作中绝对不能用!

抛出异常,正常捕获,运行可以通过,但会显示异常的结果和定位异常
在这里插入图片描述

不抛出异常,欺骗老师,运行还是通过,但不会定位异常

在这里插入图片描述

在这里插入图片描述

5. NullPointerException空指针异常

空指针异常的情况

  • Calling the instance method of a null object. 调用空对象的实例方法
  • Accessing or modifying the field of a null object.访问或修改空对象的字段
  • Taking the length of null as if it were an array.将null的长度当作一个数组
  • Accessing or modifying the slots of null as if it were an array.访问或修改null的插槽,就好像它是一个数组一样
  • Throwing null as if it were a Throwable value.将null视为Throwable值

在有关对象判断类中会有抛出空指针异常的情况

在这里插入图片描述

6. throws

throw的作用就是抛出异常,有什么用呢?

  • 通过捕获异常的功能,我们可以写判断或抛出异常的方法
  • 在不通过的情况下提醒程序员,这样程序员可以快速的更改代码,以防止程序在后面出现更严重的问题

在这里插入图片描述

7. throws和trycatch区别,用途区别

throwtry catch的区别

  • throw是用来抛出异常的,而try catch是尝试运行并捕获
  • 两者结合可以达到十分好的效果

创建MyException类,Alt+Insert调出Generate,选择Constructor

在这里插入图片描述
全选Exception
在这里插入图片描述
由此抛出编译异常
在这里插入图片描述

StringTest类中测试抛出异常

在这里插入图片描述
也可以通过调用函数的形式抛出异常

在这里插入图片描述
如果未抛出异常,则会显示编译异常,未报告的异常错误,必须对其进行捕获或声明以便抛出

在这里插入图片描述
而如果把MyException改成RuntimeException,就不会抛出编译异常,而是出现运行异常
在这里插入图片描述

8. 手把手教你编写装X自定义异常

创建ErrorCode接口
在这里插入图片描述
编写自定义异常代码

public interface ErrorCode {
    /**
     * 获取错误码
     * @return
     */
    String getcode();


    /**
     * 获取错误信息
     * @return
     */
    String getMsg();
}

创建MyCodeEnum枚举类
在这里插入图片描述
编写代码实现接口中的所有方法

public enum MyCodeEnum implements ErrorCode{
    NOT_FOUND_PAGE("404","找不到网站资源"),
    NOT_FOUND_FILE("888","找不到文件"),
    NOT_O_TEN("bad", "只能求10以内的加法")
    ;

    MyCodeEnum(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    private final String code;
    private final String msg;

    @Override
    public String getcode() {
        return code;
    }

    @Override
    public String getMsg() {
        return msg;
    }
}

创建MyException类继承RuntimeException

public class MyException extends RuntimeException{

    public MyException(ErrorCode errorCode) {
        super(errorCode.getMsg());
    }
}

String Test类中抛出异常,并可枚举选择异常形式
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3:Throwable-Java API 实战 的相关文章

随机推荐

  • 一带而过-Java与生活

    目录 认识Java0 0 前言1 1 Java是怎么执行的 xff1f 说好的exe呢 xff1f 1 2 package1 3 第一个程序的讲解1 4 注释和文档2 0 一带而过2 1 字符串演示2 2 字符串结束符的那些事儿2 3 自动
  • 0:Linux的初步认识-步入Linux的现代方法

    目录 0 0 系统的认识0 1 Linux操作系统认识 xff0c 以及开源的提出 xff1a Linux的千奇百怪的版本0 2 开源的含义0 3 Linux的用途 xff0c 各类发行版本 0 0 系统的认识 什么是系统 xff1f 鼠标
  • 1:VMware虚拟机的使用-步入Linux的现代方法

    目录 1 1 Vmware虚拟机1 2 VMware 161 3 关于从15更新到16的说法 1 1 Vmware虚拟机 安装系统的方式 实体机双系统虚拟机 详见 xff1a VMware Workstation 虚拟机权威指南 零基础虚拟
  • 2:发行版本安装演示——Ubuntu、CentOS、Kali?-步入Linux的现代方法

    目录 2 1 先尝试Ubuntu2 2 VMware Tools2 3 Ubuntu 20 04设置2 4 Linux其他发行版本的安装指导2 5 下载指导 2 1 先尝试Ubuntu 详见 xff1a Linux Ubuntu 零基础体验
  • 3:步入Linux的世界-步入Linux的现代方法

    目录 3 1 Linux究竟需要我们学习什么 xff1f Linux四大组成部分3 2 Linux是命令还是图形界面 xff1f GUI 是什么 xff1f 那GNU是什么东西 xff1f GNU Linux 和Linux有什么区别 xff
  • Linux中 sudo su 和 su 区别

    su 直接切换root用户 xff0c 需输入root密码ubuntu xff0c 默认没有设置root密码 xff0c 使用sudo passwd root设置root密码 sudo su 当前用户暂时申请root权限 xff0c 需输入
  • Python 使用 Qt5 实现水平导航栏

    在 Qt5 中可以使用 QWidget 包含两个水平布局 xff0c 通过点击水平布局里的按钮 xff0c 实现下标滑动与页面的切换 可以按照以下步骤来实现上面图片中的功能 xff1a 导入必要的 Qt 包 xff1a span class
  • OOP上半部分-Java与生活

    目录 1 1 1 问题产生和引导1 1 2 烦人1 1 3 变换思维1 1 4 规划明确目标站在更高层次思考问题1 1 5 上代码 xff0c 设计体验面向对象编程 xff0c 实例和对象1 1 6 去你md成员变量行为类和this1 1
  • Centos7 搭建Jupyter NoteBook教程

    目录 1 Anaconda31 1 下载1 2 安装 2 环境配置2 1 添加PATH到 root bashrc文件中2 2 激活配置的环境变量 3 搭建虚拟环境3 1 创建虚拟环境3 2 开启环境3 3 查看已有的虚拟环境 4 jupyt
  • OOP下半部分-Java与生活

    目录 面向对象三大特性 xff1a 封装 继承 多态2 1 1 需求重定义2 1 2 继承2 2 2 饿狼传说之多层继承2 2 3 方法的重写2 2 4 super啃老2 2 5 啃老啃到彻底2 2 6 final2 2 7 提出新的问题2
  • Centos7 搭建单机Spark分布式集群

    目录 1 JDK Hadoop Spark安装与配置1 1 解压包1 2 配置环境变量 2 Scala安装与配置2 1 Scala安装2 2 配置环境变量 3 配置集群3 1 配置sprak3 2 启动spark 4 问题 xff1a 虚拟
  • 面向对象大胆向前 Java API 实战

    目录 0 xff1a Base API 引言API的定义和用处ScannerNumberMathRandomThreadLocalRandomDateDateFormat和SimpleDateFormatCalendarSystem 详见
  • Yeats_Liao的书单

    计算机软件类 大话计算机 冬瓜哥 架构师的自我修炼 李智慧 图解算法 xff1a 使用C语言 吴灿铭 胡昭民 编程原则 马克思 卡纳特 亚历山大 啊哈 xff01 算法 啊哈磊 Java Web框架开发技术 Spring 43 Spring
  • 0:Base API-Java API 实战

    目录 0 1 引言0 2 API的定义和用处0 3 Scanner xff08 普通类 xff09 0 4 Number xff08 包装类 xff09 0 5 Math xff08 工具类 xff09 0 6 Random xff08 父
  • 黑客与画家 [美] Paul Graham 读书摘录

    充分理解程序员带来的美和智慧 xff0c 这是本书做到的 P15 为什么书呆子不受欢迎 xff1f 平庸带来的严重后果 xff0c 直接导致学生的叛逆心理 我误解最深的一个词是 老成 tact 成年人使用这个词 xff0c 含义似乎就是 闭
  • 教育的真谛 [英] 尼古拉斯·泰特 读书摘录

    自柏拉图以来 xff0c 教育的目的与性质始终是西方哲学传统关注和探讨的问题 纵览2500年来的思想成果 xff0c 作者尼古拉斯 泰特博士在 教育的真谛 xff1a 伟大思想家的观点及其现实意义 中指出 xff0c 人类的教育活动至少应包
  • 1:Unit test and main function-Java API 实战

    目录 1 抛出企业问题 xff0c 脱离main测试 xff0c 模块化编程2 Junit单元测试的含义和用途3 怎么获取各种Jar包 xff1f Maven Repository 获取各类各个版本的jar xff0c 这就是仓库 脱离老师
  • CentOS 安装 Samba服务器(多用户组、多用户有不同的访问权限)

    增加smb用户 root 64 localhost sir01 smbpasswd a linuxsir 查看 smb 现有用户 pdbedit L 验证用户登录文件夹 smbclient 192 168 101 93 forlder U
  • 2:StringBuilder-Java API 实战

    目录 1 String存在的问题2 Stringbuilder以及链式调用的含义 1 String存在的问题 认识String 字符串广泛应用在编程中 xff0c 在 Java 中字符串属于对象 xff0c Java 提供了 String
  • 3:Throwable-Java API 实战

    目录 1 异常的介绍2 异常举例以及解决常见错误bug方案3 RuntimeException4 trycatch作用 xff0c 闲扯淡诱骗毕业设计5 NullPointerException空指针异常6 throws7 throws和t