当前位置: 首页 > news >正文

Java的异常处理

  1. 常见异常
    ① 运行时异常
    a、ClassNotFoundException
    b、FileNotFoundException
    c、IOException
    ② 编译时异常
    a、ArrayIndexOutOfBoundsException
    b、NullPointerException
    c、ClassCastException
    d、InputFormatException
    e、InputMismatchException
    f、ArithmeticException

  2. try-catch-finally(抓抛模型)
    ① 抛:程序在执行的过程当中,一旦出现异常,就会在出现异常的代码处,生成对应异常类的对象,并将此对象抛出。
    ② 抓:针对于上方抛出的异常对象,进行捕获处理。
    ③ 语法格式

    try {}catch(NullPointerException e) {e.printStackTrace(); // 打印异常信息
    }catch(InputMismatchException e) {System.out.println(e.getMessage());
    }
    ...
    finally {
    }
    
  3. throws方式
    向上抛出异常,延后处理

    // 测试方法
    public void test() {// 在调用时处理异常try {method();}catch(Exception e) {}
    }
    public void method() throws 异常1,异常2{...}
    
  4. 说明
    ① 子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常相同,或是父类被重写的方法抛出的异常类型的子类。

  5. 手动抛出异常

    class Student {int id;public void setId(int id) throws Exception {if (id > 0) {this.id = id;} else {// 手动抛出异常throw new Exception("输入格式错误");}}
    }
    public class Test {public static void main(String[] args) {try {Student s = new Student();s.setId(-5);} catch(Exception e) {System.out.println(e.getMessage()); // 打印异常message -> 输入格式错误e.printStackTrace();  // 打印异常详细信息}}
    }
    
  6. 自定义异常
    ① 继承现有异常类(RuntimeException,Exception)
    ② 依照父类,提供几个重载构造器
    ③ 提供全局常量,static final long serialVersionID;

    //自定义TestException异常类
    class TestException extends Exception {static final long serialVersionUID = 123123123L;public testException() {super();}public testException(String message) {super(message);}public testException(String message, Throwable cause) {super(message, cause);}
    }
    public class Test {public static void main(String[] args) {try{method();} catch(TestException e) {e.printStackTrace();}}public static void method() throws TestException {setTimeout(() => {throw new TestException("错误消息");}, 5000);}
    }
    

相关文章:

Java的异常处理

常见异常 ① 运行时异常 a、ClassNotFoundException b、FileNotFoundException c、IOException ② 编译时异常 a、ArrayIndexOutOfBoundsException b、NullPointerException c、ClassCastException d、InputFormatException e、InputMismatchException f、ArithmeticException …...

免费域名邮箱申请和使用教程:有哪些步骤?

免费域名邮箱设置指南?如何免费注册烽火域名邮箱? 对于个人和企业而言,拥有一个专属的域名邮箱不仅能提升专业形象,还能增强品牌识别度。烽火将详细介绍如何申请和使用免费域名邮箱,帮助您轻松拥有一个专属的电子邮件…...

Linux之实战命令45:swapon应用实例(七十九)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...

提升数据处理效率:TDengine S3 的最佳实践与应用

在当今数据驱动的时代,如何高效地存储与处理海量数据成为了企业面临的一大挑战。为了解决这一问题,我们在 TDengine 3.2.2.0 首次发布了企业级功能 S3 存储。这一功能经历多个版本的迭代与完善后,逐渐发展成为一个全面和高效的解决方案。 S3…...

高级算法设计与分析 学习笔记13 线性规划

注意是线性规划不是动态规划哦 好家伙,这不是凸优化吗? 凸优化标准形式: 先改成统一最大化(凸优化那边怎么是统一最小化?) 原来的x2正负无所谓,但我希望每个x都是有限制的,所以把它改…...

2024年11月软考中项应试技巧与机考注意事项!

软考中项的备考技巧 重点来了!这部分是我辛苦总结出来的备考技巧,都是我当年备考时逐渐整合出来的,绝对够用,赶紧跟我一起掌握吧! 1.基础知识 在学习时建议大家先跟着班课老师结合教材过一遍基础知识。强调跟着班课…...

网络编程中容易踩的坑罗列,谨记!

1、TCP没考虑粘包分包 TCP是面向连接的可靠协议,TCP是流式协议,创建TCP套接字的类型为SOCK_STREAM int sockfd socket(AF_INET, SOCK_STREAM, 0);很多同学面试时对书上的话背诵如流,在实际TCP编程中却没有处理粘包和分包的代码,以…...

SD-WAN:推动企业网络优化与发展

近年来,软件定义广域网(SD-WAN)逐渐成为众多企业的首选网络解决方案。这背后的原因是什么?接下来我们将深入探讨这一趋势。 在快速发展的通信技术领域,企业对高效、灵活且可扩展的网络架构需求愈发迫切。随着数据流量的…...

[MyBatis-Plus]扩展功能详解

代码生成 使用MP的步骤是非常固定的几步操作 基于插件, 可以快速的生成基础性的代码 安装插件安装完成后重启IEDA连接数据库 mp是数据库的名字?serverTimezoneUTC 是修复mysql时区, 不加会报错 生成代码 TablePrefix选项是用于去除表名的前缀, 比如根据tb_user表生成实体类U…...

循序渐进丨MogDB 5.0 远程访问 MogDB/Oracle 数据库的简便方法(使用@符号)

概述 早期的 MogDB 就提供了Postgres_fdw、Oracle_fdw、MySQL_fdw3个插件,用于远程访问 MogDB/Oracle/MySQL数据库。 旧的版本中,访问远程数据库的表,需要显式创建外部表,而在 MogDB 5.0当中,这种用法得到了简化&…...

大模型训练触达「瓶颈」,基座模型厂商还有必要坚持预训练吗?

进入2024年来,中国大模型行业从狂奔进入到了“长跑阶段”。无论是在技术侧,还是在产业侧,行业内都产生了更多新的思考。 从技术发展上看,在算力受限的情况下,中国基座模型的研发能力在全球范围内处在什么身位、如何追赶…...

media3 exoplayer 扩展解码库在这里 take it , please !

Media3 ExoPlayer 扩展解码库介绍 请注意,本文讨论的是 Media3 ExoPlayer 而不是 Google ExoPlayer2。详细参考:Media3 ExoPlayer 迁移指南 文章最后提供了已经编译好的AAR文件,直接引用即可!!! 为什么选…...

在Xshell中查看日志文件详情

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…...

深入理解计算机系统--计算机系统漫游

对于一段最基础代码的文件hello.c&#xff0c;解释程序的运行 #include <stdio.h>int main() {printf ( "Hello, world\n") ;return 0; }1.1、信息就是位上下文 源程序是由值 0 和 1 组成的位&#xff08;比特&#xff09;序列&#xff0c;8 个位被组织成一组…...

哪些指标可以用来评估精益生产现场管理和改善的效果?

在探讨如何评估精益生产现场管理和改善效果时&#xff0c;我们需要关注一系列关键指标&#xff0c;这些指标不仅反映了生产流程的效率&#xff0c;还体现了质量和客户满意度的提升。详细如天行健企业管理咨询公司下文所述&#xff1a; 1. 生产效率 每小时生产数量&#xff08;…...

在 Linux 系统上安装免费杀毒软件

选择合适的免费杀毒软件 Linux 上流行的免费杀毒软件&#xff1a; . ClamAV&#xff1a;最为知名的开源免费杀毒软件&#xff0c;支持多种 Linux 发行版。它可以扫描病毒、恶意软件以及 Windows 系统上的威胁。 Sophos Antivirus for Linux&#xff1a;虽然是商业软件&#xff…...

第 7 章:Vue UI 组件库

1. PC 端常用 UI 组件库 Element UI&#xff1a;https://element.eleme.cnIView UI&#xff1a;https://www.iviewui.com 2. 移动端常用 UI 组件库 Vant&#xff1a;https://youzan.github.io/vantCube UI&#xff1a;https://didi.github.io/cube-uiMint UI&#xff1a;htt…...

【SQL】SQL用户管理和权限

&#x1f384; 管理用户 &#x1f4e2; 用来管理数据库用户、控制数据库的访 问权限 ⭐ 查询用户 &#x1f4e2; mysql数据库中的user表中,存放了当前数据库中所有的用户和用户的权限 use mysql; select * from user; &#x1f4e2; 其中Host代表当前用户访问的主机, 如果为…...

STM32应用详解(5)USART串口初始化

文章目录 一、USART初始化二、代码说明1.原理图2.main函数3.USART串口初始化函数4.代码整体结构 三、USART串口初始化总结 一、USART初始化 所谓的对USART进行初始化&#xff0c;就是对USART固件库函数的调用&#xff0c;来完成串口(USART)的设置&#xff0c;比如设置波特率、…...

渗透实战 JS文件怎么利用

1.前言 关于JS在渗透测试中的关键作用&#xff0c;想必不用过多强调&#xff0c;在互联网上也有许多从JS中找到敏感信息从而拿下关键系统的案例。大部分师傅喜欢使用findsomething之类的浏览器插件&#xff0c;也有使用诸如Unexpected.information以及APIFinder之类的Burp插件…...

BiliTools:B站资源高效管理与下载完全指南

BiliTools&#xff1a;B站资源高效管理与下载完全指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools BiliTools是一…...

S2-Pro模型推理服务高可用部署:基于Docker与Kubernetes的架构

S2-Pro模型推理服务高可用部署&#xff1a;基于Docker与Kubernetes的架构 1. 为什么需要高可用部署 在实际生产环境中&#xff0c;AI模型推理服务的稳定性直接影响业务连续性。想象一下&#xff0c;当你的电商平台正在举行大促活动&#xff0c;AI推荐系统突然宕机&#xff0c…...

Python高效开发技巧汇总

这是一篇关于Python开发的技术文章示例内容&#xff0c;可以替换为真实文章内容。...

亚洲美女-造相Z-Turbo算力适配实践:24G显存下支持batch_size=2高清图并行生成

亚洲美女-造相Z-Turbo算力适配实践&#xff1a;24G显存下支持batch_size2高清图并行生成 1. 快速了解亚洲美女-造相Z-Turbo 亚洲美女-造相Z-Turbo是一个专门针对亚洲女性形象生成优化的文生图模型&#xff0c;基于Z-Image-Turbo的LoRA版本进行深度定制。这个模型最大的特点是…...

iOS设备支持文件管理指南:让Xcode兼容新旧iOS系统的实用方案

iOS设备支持文件管理指南&#xff1a;让Xcode兼容新旧iOS系统的实用方案 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport 开发困境突破&#xff1a;iOS版本与Xcode的兼容性挑战 …...

Synthelix-Auto-Bot终极指南:10分钟掌握多钱包节点自动化管理

Synthelix-Auto-Bot终极指南&#xff1a;10分钟掌握多钱包节点自动化管理 【免费下载链接】Synthelix-Auto-Bot **Automated tool for managing Synthelix nodes across multiple wallets** 项目地址: https://gitcode.com/gh_mirrors/syn/Synthelix-Auto-Bot Synthelix…...

小红书自动评论的‘伪需求’与真风险:聊聊RPA工具养号背后的封号逻辑与合规玩法

小红书自动化评论的合规边界&#xff1a;效率与账号安全的博弈术 凌晨三点&#xff0c;某MCN机构运营负责人李然被连续不断的手机提示音惊醒——团队管理的12个小红书达人账号同时收到平台封禁通知&#xff0c;而这一切都源于他们三天前部署的那套"高效互动系统"。这…...

Evolutionary Architecture by Example:如何避免过度工程化陷阱

Evolutionary Architecture by Example&#xff1a;如何避免过度工程化陷阱 【免费下载链接】evolutionary-architecture-by-example Navigate the complex landscape of .NET software architecture with our step-by-step, story-like guide. Unpack the interplay between m…...

Klipper温度曲线优化终极指南:三步解决95%打印质量问题

Klipper温度曲线优化终极指南&#xff1a;三步解决95%打印质量问题 【免费下载链接】klipper Klipper is a 3d-printer firmware 项目地址: https://gitcode.com/GitHub_Trending/kl/klipper 你是否曾为PLA打印翘边、ABS层间开裂或PETG拉丝问题而烦恼&#xff1f;这些问…...

3步打造B站高效体验:开源客户端的极致优化指南

3步打造B站高效体验&#xff1a;开源客户端的极致优化指南 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端&#xff0c;当然&#xff0c;是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP BiliBili-UWP作为一款开源客户端&#xff0c;专为Wi…...