小滴课堂-学习笔记:(7)Java 异常Exception讲解

python版雪花算法生成唯一ID 一、雪花算法图解 下方为源码,返回的结果为19位,为10进制表示,使用二进制表示就是64位,所以不必有所疑惑。 二、源码 1、异常捕获块 文件名:exceptions.py class InvalidSystemClock(Exception): """ 时钟回拨异常 """ pass 2、唯一id生成块 文件名:xuehuaid.py # Twitter's Snowflake algorithm implementation which is used to gene 阅读详情

logo 愿景:"让编程不再难学,让技术与生活更加有趣"


更多架构课程请访问 xdclass.net

目录

第1集 Java异常Exception讲解

第2集 Java内置异常体系分类和核心方法讲解

第3集 java进阶基础之Try Catch异常捕获

第4集 Java异常进阶之Finally讲解和多重捕获

第5集 java异常处理之throws/throw关键词

第6集 java进阶基础之自定义异常

干货文档


第1集 Java异常Exception讲解

简介:介绍什么是异常,java出现异常的场景

  • 什么是错误

    • 程序运行时发生的不被期望的事件,阻止了程序按照预期正常执行

    • 常见程序错误分三类

      • 编译错误:新手最常见,没遵循语法规范

      • 运行时错误:程序在执行时,

      • 逻辑错误:程序没有按照预期的逻辑顺序执行

  • Java.lang软件包中有一个java.lang.Throwable类,这个类是java中所有错误和异常的超类,Throwable类有两个子类,Error与 Exception

    • Error

      • 是Throwable 的子类,包含大量子类

      • 出错后程序无法处理,如OutOfMemoryError

    • Exception

      • 是Throwable 的子类,包含大量子类

      • 程序本身可以处理的异常,如ArrayIndexOutOfBoundException

    • 两大类

      • 可查异常(编译器要求必须处置的异常):RuntimeException及其子类以外,其他的Exception类及其子类, 如 IOException和ClassNotFoundException

      • 不可查异常(编译器不要求强制处置的异常): 包括运行时异常(RuntimeException与其子类)和错误(Error),如ArrayIndexOutOfBoundsException

      •  

第2集 Java内置异常体系分类和核心方法讲解

简介:讲解java内置的异常和Throwable核心方法介绍

  • java内置异常

    • 可查异常(必须要在方法里面捕获或者抛出)

      • ClassNoFoundException 应用程序试图加载类,找不到对应的类

      • IllegalAccessException 拒绝访问一个类的时候

      • NoSuchFieldExcetion 请求的变量不存在

      • NoSuchMethodException 方法不存在

    • 不可查异常

      • ArrayIndexOutOfBoundsException 数组索引越界

      • ClassCastException 强制失败抛出异常

      • NullPointerException 需要对象的地方使用 null 时,抛出该异常

      • NumberFormatException 将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常

  • Throwable类核心方法

    • public String getMessage()

      • 异常的详细信息

    • public Throwable getCause()

      • 异常原因

    • public void printStackTrace()

      • 打印错误的堆栈信息,即错误输出流,可以看到错误原因和所在位置

    • public StackTraceElement [] getStackTrace()

      • 堆栈层次的数组,下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底

 

 

第3集 java进阶基础之Try Catch异常捕获

简介:讲解使用Try Catch进行异常捕获

  • 异常处理之捕获

    • 语法

    try{
       // 可能发生异常的代码
    }catch(AExceptionName e){
       //出异常的时候处理
    }catch(BExceptionName e){
    ​
    }fianall{
        
    }
    • try后面跟一个或多个catch块,或一个finally块,或两者的组合

    • catch 不能独立于 try 而单独存在

    • 如果代码没有对应的异常类进行捕获,则默认打印异常堆栈

  • 课程代码演示

 

 

第4集 Java异常进阶之Finally讲解和多重捕获

简介:讲解finally和多重异常捕获

  • 一个 try 代码块后面跟多个 catch 代码块的情况就叫多重捕获

    • 语法

    try{
       // 可能发生异常的代码
    }catch(ExceptionName1 e1){
       //出异常的时候处理
    }catch(ExceptionName2 e2){
       //出异常的时候处理
    }
    • 代码中发生异常,异常被抛给第一个 catch 块, 如果不匹配则继续往下一个catch进行传递

     

  • finally关键字

    • 用来创建在 try 代码块后面执行的代码块

    • finally 代码块中的代码总会被执行

    • 一般用于资源回收释放等操作

    • 语法:

      try{
         // 可能发生异常的代码
      }catch(ExceptionName1 e1){
         //出异常的时候处理
      }finally{
          //肯定执行的代码
      }
      或者
      
      try{
         // 可能发生异常的代码
      }finally{
          //肯定执行的代码
      }
      • 课程代码演示 面试题,返回结果最终是finally为准(尽量不要在finally里面使用return,会忽略try catch里面的return,容易造成未知的bug)

        ​
            public static int divide(int num1, int num2){
                try {
                    int result = num1/num2;
                    return result;
                }catch (Exception e){
                    System.out.println("出异常");
        ​
                }finally {
                    System.out.println("finally执行了");
                    return -2;
                }
             //   return -1;
            }
        

         

  • 三者的组合

    • try,catch和finally块有两种可能的组合:try-catch-finally或try-finally。

 

第5集 java异常处理之throws/throw关键词

简介: 讲解异常的抛出throw和声明throws

  • 代码出异常常见的处理方法

    • try catch捕获

    • throws 声明异常 往外抛出

      • 语法:throws子句放在方法参数列表的右括号之后,一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。

      • 例子

        public class Main {
          public static void readChar() throws IOException,RemoteException {
            int input = System.in.read();   
          }
        }
        

         

  • try catch中捕获了异常,处理方法

    • 当前捕获自己处理

    • 捕获自己处理然后继续往外面抛异常

      • 语法

        throw  new ExceptionName("异常信息");

         

      • 例子

        throw  new IOException("File not  found");

         

 

  • 总结:当抛出一个被检查的异常,我们必须使用try-catch块来处理它,或者在方法声明中使用throws子句继续往外抛

 

 

第6集 java进阶基础之自定义异常

简介:讲解使用java进行自定义异常

 

  • 为什么要使用自定义异常

    • 当前JDK内置的异常不满足需求,项目会出现特有异常

    • 自定义异常可以让业务更清晰

 

  • 如何进行自定义异常

    • 异常都是继承自Exception类,所以我们要自定义的异常也需要继承这个基类。

  • 例子

public class BaseException extends Exception {
​
 private  String errorMessage;
 private  String errorCode;
 
 public BaseException(String errorCode,String errorMessage){
  super(errorMessage);
  this.errorCode = errorCode;
  this.errorMessage = errorMessage;
 }
​
 public  String getErrorMessage() {
  return errorMessage;
 }
 public  String getErrorCode() {
  return errorCode;
 }
​
 public  void setErrorCode(String errorCode) {
  this.errorCode = errorCode;
 }
​
 public  void setErrorMessage(String errorMessage) {
  this.errorMessage = errorMessage;
 }
​
}

干货文档

                                                        关注公众号发送:“优快云干货文档”  即可领取

【Java系列】:异常-Exception 还搞不懂异常机制?来看看这篇文章!本文详细讲解了异常处理机制和使用方法,希望对你有所帮助。 阅读详情

相关推荐

Java异常处理--throw手动抛出异常对象

Java异常处理--throw手动抛出异常对象

人生得意须尽欢 5928

RuntimeException

一. 理解: runtime exception,也称运行时异常,我们可以不处理。出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点...

weixin_39999734的博客 2万+

Python异常处理详解

本文介绍了Python的raise语句的使用方法和场景,包括基本用法、自定义异常类以及常见场景。除了使用Python内置的异常类外,我们还可以自定义异常类。在上述代码中,如果文件不存在,则会抛出FileNotFoundError异常,并输出"文件不存在"的错误信息。在上述代码中,如果参数b的值为0,则会抛出值异常,并输出"除数不能为0"的错误信息。使用raise语句抛出MyException异常,并输出"自定义异常"的错误信息。上述代码会抛出一个Exception异常,并输出"发生了异常"的错误信息。

code_welike的博客 295

【Java异常体系】(三)异常体系之RuntimeException解析...

RuntimeException通常指示程序在运行时出现了错误,需要立即停止程序的执行,通常是由程序员编写的代码错误引起的,如除以零、数组越界、空指针等。 在Java中,RuntimeException并不需要显式地捕获和处理,但是良好的编程习惯应该尽可能地避免抛出RuntimeException,以确保程序健壮性和可维护性~

Technology changes the world of life 1万+

Ubuntu20.04安装NVIDIA显卡驱动避坑指南:从.run文件到完美运行

本文详细介绍了在Ubuntu20.04系统上通过.run文件安装NVIDIA显卡驱动的完整流程和避坑技巧。从禁用Nouveau驱动、选择合适显示管理器到处理常见安装问题,提供了一套经过验证的解决方案,帮助用户顺利完成驱动安装并优化性能。

weixin_30776273的博客 602

4D 毫米波雷达:智驾普及的新路径(一)

总体而言,4D 毫米波雷达具有更佳的探测能力,更高的分辨率和精度,在人工智能技术的加持下,能够实现更加智能化的感知和跟踪,从而为自动驾驶、智能交通等领域提供更加可靠的数据支持。博世的第五代引入了俯仰维度,但其角度分辨率较差,且最大探测距离为。车载毫米波雷达的尺寸受限,我们认为通过算法的优化、天线内置等方式可以在保障性能的前提下,压缩尺寸,便于车企进行灵活的设计安装。在物理设计、天线性能设计、电连接、封装工艺和材料、散热处理、可靠性与自动化测试等方面进行持续优化,推出可大规模量产的高性能毫米波雷达解决方案。

奔袭的算法工程师 3954

异常处理 ?处理(try-catch) :甩锅(throws)_ java异常(Exception)处理

目录点击跳转本章概要java异常处理入门异常介绍异常分类异常体系图 本章概要 本章主要和大家一起学习java异常类的处理机制,深入学习java异常类。 掌握异常处理机制,及背后的逻辑。 1.了解异常体系,学习常见的异常类 2.知道如何处理异常,掌握try-catch 或者 throws的使用和区别 3.能够读懂异常代码,知道何处可能会有异常出现 java异常处理入门 二话不说,先看代码! //异常处理入门 public class Exception1 { public static void ma

bug郭的博客 4841

配置 NVIDIA RTX 5090 + sm_120 + flashattention,已跑通一个大模型 ~~

本文介绍了在Ubuntu 22.04系统下为NVIDIA RTX 50系显卡搭建深度学习环境的完整流程。重点包括:1)安装适配50系显卡(sm_120架构)的CUDA 12.9驱动和Toolkit,需注意禁用系统自带驱动;2)配置环境变量解决nvcc命令识别问题;3)通过源码编译方式安装支持sm_120的PyTorch nightly版本(cu129),解决官方二进制包不兼容问题。整个过程涉及显卡驱动安装、CUDA环境配置、PyTorch适配等关键步骤,并提供了详细的验证方法和常见问题解决方案。文中特别强调

qq_36674060的博客 6156

Java笔记、第十一章、异常(Exception)

B站韩顺平

weixin_57906430的博客 1058

STM32G0实战:手把手教你用国产GD25Q16 Flash存储传感器数据(附完整驱动)

本文详细介绍了如何使用国产GD25Q16 Flash芯片与STM32G0系列MCU实现传感器数据存储的完整方案。从SPI接口配置、驱动层实现到存储系统架构设计,提供了实战代码和优化策略,帮助开发者快速构建高性价比的物联网数据存储系统。

weixin_30733003的博客 106

ESP32-C3微型9轴感知模块的硬件工程实践

在嵌入式系统小型化趋势下,低功耗微控制器与多传感器融合成为智能终端的基础技术路径。其核心原理在于芯片能效比、射频合规性与电源噪声抑制的协同优化,技术价值体现在降低认证门槛、提升EMC鲁棒性及保障MEMS传感器精度。典型应用场景包括可穿戴设备、微型无人机姿态控制和工业边缘传感节点。本文围绕ESP32-C3平台展开,深入解析QFN封装选型逻辑、同步降压电源设计、LSM9DS1九轴校准策略等关键环节,覆盖FCC/CE认证规避、USB-C接口EMC防护等高频工程痛点。

weixin_42607969的博客 366

杨校老师课堂之Java基础异常专题知识点整理

目录 一、异常处理 1.异常的概念和分类 2.Exception类 3.try-catch块 4.finally关键字 5.throw 关键字 6.throws 关键字 7.RumtimeException 一、异常处理 1.异常的概念和分类 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将 受影响.在程序中的意...

杨校的博客 2344

芯片测试:WAT、CP、FT

最近部门来了一个日本回来的同事,虽然他尽量用非常Poor的中文给我解释一些东西,其中还夹杂着一些英文让我很受挫,于是最近来学一下WAT中的常用的单词含义。直接去查缩写、查单词很难去记住,要把具体的东西放在具体的场景,引发知识的连接才会在脑子里留下一定的映像。感兴趣的一起来学习一下这篇不错的文章吧。注释是我查询记录,如有不妥,欢迎指出修正。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5081

java学习笔记(12) 第12 章 - 异常-Exception

第12 章异常-Exception12.1 实际问题、解决办法、异常介绍12.2 异常体系图一览12.2.1 异常体系图12.2.2 异常体系图的小结 12.1 实际问题、解决办法、异常介绍 看个实际的问题和一段代码 运行下面的代码,看看有什么问题-> 引出异常和异常处理机制 Exception01.java public static void main(String[] args) { int num1 = 10; int num2 = 0; int res = num1 / num2; Sy

m0_50736744的博客 554

124、LLC谐振变换器的矩阵变压器设计

摘要 本文分享了LLC谐振变换器中矩阵变压器的实战设计经验。针对大功率LLC单颗变压器的痛点(绕组层数多、散热不均、漏感一致性差),作者提出将大变压器拆分为多个小变压器单元(建议6个),通过原边串联、副边并联的方式实现功率分配。详细解析了磁芯选型、匝比计算、绕组结构、漏感控制和散热设计等关键参数,特别强调了小磁芯优势、等效匝比计算误区以及三明治绕法的重要性。文中还总结了调试过程中的谐振频率偏移和均流问题解决方案,并给出了矩阵数量选择、磁芯材质、绝缘材料等实用建议。作者指出,矩阵变压器在2kW以上LLC应用中

Jack010169的博客 169

ESP32S3接入讯飞在线语音识别教程及配套源代码

本文介绍了如何使用ESP32-S3开发板实现讯飞在线语音识别功能。首先,需要准备硬件设备,包括ESP32-S3开发板、麦克风模块、MicroSD卡模块和扬声器模块。接着,安装Arduino IDE并配置ESP32-S3开发环境,注册讯飞开放平台账号并获取API凭证。然后,通过I2S接口连接麦克风模块,并编写代码实现语音录制、Base64编码、API请求和识别结果处理。代码包括初始化WiFi、麦克风、系统时间,以及录制语音、发送请求、解析响应等功能。最后,通过按键触发录音,并将识别结果输出到串口。

2401_88800025的博客 746

JAVA课堂笔记20(异常)

结果:消极处理异常,只是推卸责任的一种处理方式,程序最终还是因为异常而被终止。利用多态,使用父类型处理子类型的异常,子类型必须定在父类前面。,代表错误,用于指示合理的应用程序不应该试图捕获的严重问题。作用:消极处理异常可以解决非运行时异常编译不通过的问题。非运行时异常,一旦出现,需要借助 异常处理语法解决。:最终的,定义的代码不管有没有异常肯定被执行。没有任何继承关系的异常,都是非运行时异常。,代表异常,分为运行时异常和非运行异常。注意:利用父类型的异常解决子类型的异常。类或是它的子类,都是运行时异常。

2302_82067749的博客 359

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Java学习笔记】47 - 异常,try-catch处理,throw处理

Java语言中,将程序执行中发生的不正常情况称为“异常"。(开发过程中的语法错误和逻辑错误不是异常)执行过程中所发生的异常事件异常处理就是异常发生时,对异常处理的方式1)如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。2)在方法声明中用throws语句可以声明抛出异常的列表(抛出多个异常),throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类。

qq_41891655的博客 1989

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java SE : 第12章 异常-Exception

本文章内容来自韩顺平老师的课堂笔记的第12章 异常- Exception

weixin_48409574的博客 362

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

2020.7.24课堂笔记(异常)

课前复习: 1、什么是接口? 使用interface关键字 功能的扩展 方法的聚集 一种约定 2、抽象类和接口的异同点 相同点:都是抽象的,不能被实例化 都包含抽象方法 不同点:抽象类可以有实例方法 接口的属性只能是public static final 类型 抽象类可以定义构造方法(接口不可以) 抽象类的构造方法不是给谁用的 接口不可以有静态方法,但是抽象类可以有 课堂笔记: Throwable:所以能导致程序无法运行的根类 Error:错误:无法恢复的 Exception:异常:处理之后能正常运行的 确

超可爱慕之 183

深入理解 Java 异常处理:从理论到实践

Java 的异常体系是一个树形结构, Throwable 是所有异常和错误的父类,它主要包含两个分支:Error 和 Exception。Error 类层次结构描述了 Java 运行时系统的内部错误和资源耗尽错误,应用程序不应该抛出这种类型的对象。如果出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全地终止。Exception 又分为受检查异常(Checked Exception)和运行时异常(RuntimeException)。受检查异常在编译时就必须进行处理,否则无法通过编译;

2401_89375084的博客 1523

JAVA课堂随记6异常

java异常学习

m0_51047223的博客 139

第 12 章 异常-Exception

12.1看个实际的问题和一段代码(引出异常) 12.2解决方案-异常捕获 12.3异常介绍 12.4异常体系 12.5异常体系一览 12.6编译异常 12.7异常课堂练习 12.8异常处理 12.9try-catch异常处理 12.10throws异常处理 12.11自定义异常 12.12throw和throws的区别 ...

m0_55531470的博客 537

开课吧课堂之如何创建自己的异常子类

尽管Java的内置异常处理大多数常见错误,你也许希望建立你自己的异常类型来处理你所应用的特殊情况。这是非常简单的:只要定义Exception的一个子类就可以了(Exception当然是Throwable的一个子类)。你的子类不需要实际执行什么——它们在类型系统中的存在允许你把它们当成异常使用。 Exception类自己没有定义任何方法。当然,它继承了Throwable提供的一些方法。因此,所有异常,包括你创建的,都可以获得Throwable定义的方法。这些方法显示在表中。 你还可以在你创建的异常类中覆盖一个

kaikeba的博客 176

illegalargumentexception是什么异常_程序员,JAVA的异常你知道多少?

享学课堂特邀作者:老顾转载请声明出处!前言小伙伴们对Java的异常应该是不陌生的,不过很多人只是简单的应用而已,而没有全面的,整体的去了解Java的异常体系。今天老顾就来跟大家一起学习JAVA的异常。3W原则哪都有的3W原则,JAVA异常也可以总结3W:what、where、whywhat对应异常类型:回答了什么被抛出where对应异常堆栈跟踪:回答了在哪抛出why对应异常信息:回答了为什么被抛出...

weixin_39812186的博客 1642

exception java_总结java的exception

这篇和前面的 总结java的interface和abstract class 一样。跳过最基础语法不聊,只说一些比较tricky的东西和一些好的practice.语法:Exception继承自Throwable. Throwable还有一个儿子是Error,但是一般用不到。不过有些二百五面试官喜欢问回字有几种写法,所以还是要知道有Error这回事的。Exception分为checked和unche...

weixin_39624332的博客 220
上一篇: 小滴课堂-学习笔记:(6)Java 面向对象编程OOP
下一篇: 小滴课堂-学习笔记:(8) Java进阶核心之集合框架Collection
dev666
博客等级 码龄9年 100粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dev666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值