《Java开发十日速成:零基础保姆级教程(附20000字实战+流程图)》 Day4:异常处理与单元测试

《Java开发十日速成:零基础保姆级教程(附20000字实战+流程图)》

副标题:挑战高薪!十天掌握Java核心技能,小白也能写出企业级代码


Day4:异常处理与单元测试

学习目标

  • 掌握Java异常体系与异常处理的最佳实践
  • 理解单元测试的基本概念及JUnit 5的使用方法
  • 完成实战项目:用户注册功能的异常处理链

4.1 Java异常体系

异常分类

Java中的异常分为两类[[3]]:

  1. 受检异常(Checked Exception):必须显式处理,如IOException
  2. 非受检异常(Unchecked Exception):运行时异常,如NullPointerException

代码示例

// 受检异常示例  
try {
     
    FileInputStream file = new FileInputStream("test.txt");  
} catch (FileNotFoundException e) {
     
    System.out.println("文件未找到:" + e.getMessage());  
}  

// 非受检异常示例  
int[] arr = new int[5];  
System.out.println(arr[10]); // 抛出ArrayIndexOutOfBoundsException  

异常处理最佳实践
  • 捕获异常后记录日志:避免直接打印堆栈信息[[8]]
  • 自定义异常类:便于区分业务异常和系统异常

代码示例

class CustomException extends Exception {
     
    public CustomException(String message) {
     
        super(message);  
    }  
}  

public class Main {
     
    public static void main(String[] args) {
     
        try {
     
            validateAge(15);  
        } catch (CustomException e) {
     
            System.out.println("错误:" + e.getMessage());  
        }  
    }  

    public static void validateAge(int age) throws CustomException {
     
        if (age < 18) {
     
            throw new CustomException("年龄不足18岁");  
        }  
    }  
}  

4.2 单元测试入门

JUnit 5基础
  • 定义:JUnit是一个流行的Java单元测试框架[[9]]
  • 注解说明
    • @Test:标记测试方法
    • @BeforeEach:在每个测试方法前执行
    • @AfterEach:在每个测试方法后执行

代码示例

import org.junit.jupiter.api.*;  

public class CalculatorTest {
     

    @BeforeEach  
    void setUp() {
     
        System.out.println("测试开始前准备...");  
    }  

    @Test  
    void testAdd() {
     
        Calculator calculator = new Calculator();  
        Assertions.assertEquals(5, calculator.add(2, 3));  
    }  

    &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

全息架构师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值