首页 > 编程语言 >Java基础——异常

Java基础——异常

时间:2024-11-09 13:49:52浏览次数:3  
标签:Java int MyException 基础 try println 异常 public

1. 什么是异常

程序在运行过程中发生的一些意外,叫做异常,如用户输入不合法,读取文件不存在等

2. 分类

  1. 检查性异常:无法预见的,如要打开一个不存在的文件
  2. 运行时异常:在编译时被忽略,可能被避免的,如函数a,b互相调用
  3. 错误:脱离程序员控制,如栈溢出

3. 异常处理机制

  1. 抛出异常
  2. 捕获异常
  3. 异常处理关键字:try、catch、finally、throw、throws
  4. 自动捕获异常快捷键:ctrl + alt + T
// try catch finally的使用
public static void main(String[] args) {
    int a = 1;
    int b = 0;
    try { // try监控区域
        System.out.println(a / b);
    }catch (ArithmeticException e){  // catch(想要捕获的异常类型)
        System.out.println("除数不能为0");  // 处理异常
    }finally {  // 处理后续
        System.out.println("后续");
    }
}
// throw 和 throws的使用
public static void main(String[] args) {
        int a = 1;
        int b = 0;
        try {
            new Demo02().test(a, b);
        } catch (ArithmeticException e) {
            System.out.println("发生了异常");
        }

    }
// 这个方法处理不了异常 向外抛出异常,由调用该方法的进行处理 在方法上使用
public void test(int a, int b) throws ArithmeticException{
    if(b == 0){
        throw new ArithmeticException(); // 在方法中使用, 用于主动抛出异常
    }
}

4. 自定义异常

继承Exception类,即可自定义异常

// 自定义异常类
public class MyException extends Exception{ // 继承Exception定义异常类
    private int detail;  // 属性
    MyException(int number){ // 构造方法
        this.detail = number;
    }
    // 转换成String
    @Override
    public String toString() {
        return "MyException{" +
                "detail=" + detail +
                '}';
    }
}

// 主类调用
public static void main(String[] args) {
        int a = 11;
        try {
            new Demo03().test(a);
        } catch (MyException e) {
            System.out.println("发生异常");
        }

    }
    public void test(int a) throws MyException {
        if(a > 10){
            throw new MyException(a);
        }
        System.out.println("OK");
    }

标签:Java,int,MyException,基础,try,println,异常,public
From: https://blog.csdn.net/weixin_68853331/article/details/143635006

相关文章

  • Java JUnit从入门到精通:一篇文章带你掌握单元测试
    JavaJUnit从入门到精通:一篇文章带你掌握单元测试前言在现代软件开发中,单元测试已经成为保证代码质量的重要手段。作为Java生态中最流行的单元测试框架,JUnit提供了强大而灵活的测试功能。本文将从基础开始,逐步深入JUnit的各个方面,帮助你全面掌握Java单元测试。目录JUnit......
  • Java单元测试完全指南:JUnit从入门到精通
    Java单元测试完全指南:JUnit从入门到精通一、前言在现代软件开发中,单元测试已经成为保证代码质量的重要手段。本文将全面介绍Java最流行的单元测试框架JUnit,从基础概念到高级特性,帮助你掌握单元测试的核心技能。二、目录JUnit基础及环境搭建核心注解详解注解最佳实践高级测......
  • java卷上天,转行可以干什么?
      小刚是某名企里的一位有5年经验的高级Java开发工程师,每天沉重的的工作让他疲惫不堪,让他萌生出想换工作的心理,但是转行其他工作他又不清楚该找什么样的工作因为JAVA这几年的更新实在是太太太……快了,JAVA8都还没用多久,16都已经发布了。自从JAVA8发布了Lambda和St......
  • c++-有关输出、信息输入、趣味输入应用、运算符、变量、浮点数数据类型的基础知识
    C++是一种功能强大且广泛使用的编程语言,它可以用于开发各种类型的应用程序。在这篇文章中,我们将介绍C++程序的输出、信息输入、趣味输入应用、运算符、变量和浮点数数据类型的基础知识。目录输出信息输入趣味输入应用运算符变量浮点数数据类型题目题目1:解答1:题目2:......
  • StarUML建模工具安装学习与汉化最新零基础详细教程【一键式下载】(适用于Windows、MacO
    StarUML破解安装下载教程前言:StarUML破解与汉化安装下载教程,仅供学习研究和交流使用,禁止作为商业用途或其他非法用途!仓库作者:X1a0He,经仓库作者授权使用。目录StarUML破解安装下载教程1.下载准备1.1一键式准备【懒人准备】1.2学习式准备1.2.1学习准备2.window......
  • 深入Java多态机制:从原理到实现
    目录1.什么是多态?2.如何在Java中实现多态?2.1方法重写实现多态2.2接口实现多态3.Java接口中方法实现的支持3.1默认方法4.总结多态(Polymorphism)是面向对象编程(OOP)的核心概念之一。多态允许对象在不同的上下文中执行不同的行为,即同一操作可以在不同的对象中产生不......
  • 2024-2025-1 20241413 《计算机基础与程序设计》第七周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07作业目标数组与链表基于数组和基于链表实现数据结构无序表与有序表树图子程序与参数--------作业......
  • 使用HTML、CSS和JavaScript创建动态雪人和雪花效果
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • java基于SpringBoot的家电销售管理系统(源码+vue+部署文档+前后端分离等)
    收藏关注不迷路!!......
  • Java学习——Redis学习总结(一文搞定入门到精通)
    前言本文是我在日常学习中对redis方面学习的全面总结,分为三大模块。1.入门篇总结了redis的基础知识,限于入门redis,省略了redis的安装和客户端基础命令操作,着重与java客户端以及在java环境下如何操作redis2.进阶篇总结了redis的持久化,分布式锁,缓存,简单写了一点事务相关方面,......