手记

【金秋打卡】第3天 Java全栈工程师-Java异常剖析

课程名称:Java全栈工程师

课程章节:阶段二:Java SpringBoot API打造高级电商业务后端

课程讲师:7七月

课程内容:Java异常深度剖析



异常简介

异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。异常不是语法错误,语法错误,编译不通过,不会产生字节码文件,根本不会运行JVM。Java 中,异常本身是一个类,产生异常就是创建异常对象并且抛出一个异常对象


异常处理机制主要回答了三个问题:

What:异常类型回答了什么被抛出

Where:异常堆栈跟踪回答在哪抛出

Why:异常信息回答了为什么被抛出



异常分类

Throwable 类是 Java 语言中所有错误或异常的超类

  • Error:错误,无法解决的问题(癌症)

  • Exception:可被解决的问题 (感冒)

    • 受检,编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败(日期格式化异常)。需要用 try...catch... 语句捕获并进行处理,并且可以从异常中恢复

    • 非受检,运行时期异常:RuntimeException。程序运行时错误,例如除 0 会引发 Arithmetic Exception,此时程序崩溃并且无法恢复


异常处理

throw

作用:在指定的方法中抛出指定的异常

格式:throw new xxxException(“产生异常原因”)


throws

自己不处理,给别人处理

格式:修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2…{ }


try...catch...finally



全局异常捕获:

  • 创建一个类,类标注 @ControllerAdvice 注解

  • 写一个方法,方法标注 @ExceptionHandler 注解,在方法中实现对捕获异常的处理逻辑


0人推荐
随时随地看视频
慕课网APP