Java中异常处理-详解

异常(Exception)

  • JVM 默认处理方案

    • 把异常的名称,异常的原因,及异常出错的位置等信息输出在控制台
    • 程序停止执行
  • 异常类型

    编译时异常必须显示处理,否则程序会发生错误,无法通过编译
    运行时异常无需显示处理,也可以和编译时异常一样处理
  • 代码示例:


异常处理三种方式

try…catch
  • 格式:

    try{ 可能出现异常的代码;  
    }catch(异常类名 变量名){异常的处理代码;e.printStackTrace();		// 打印异常信息
    }finally{有无异常都执行的代码
    }
    
  • 示例代码:

    public class Test5 {public static void main(String[] args) {try{//分母不能为 0 ,很明显错误,程序运行到这,抛出算术运算异常:ArithmeticExceptionint a = 5/0;// ①System.out.println("砥砺前行");}catch (Exception e){e.printStackTrace();}finally {System.out.println("欢迎来到编程世界!");}}
    }
    

    ①位置因,上一行代码异常,被抓取到了,catch 中进行处理,处理完后,执行 finally 中代码,finally 最经常使用于,IO 处理释放流


throws
  • 格式:

    throws 异常类名	
    

    跟在方法的括号后面,仅仅是将异常抛出,谁调用谁处理,main 抛出,由 JVM 虚拟机处理

  • 示例代码:

    public class Test6 {public static void main(String[] args) {try{show();}catch (Exception e){e.printStackTrace();}System.out.println("欢迎来到编程世界!");}public static void show() throws ArithmeticException{int a = 5/0;System.out.println(a);}
    }
    


throw
  • 自定义异常,用在方法体内,跟的是异常对象名,表示抛出异常

  • 格式

    throw new Exception("自定义异常");
    
  • 示例代码

    public class Test7 {public static void main(String[] args) throws Exception {// 创建键盘输入对象Scanner sc = new Scanner(System.in);int i = 1;// 三次机会System.out.println("请输入颜色:");while(i <= 3){String color = sc.next();show(color);}}public static void show(String color) throws Exception {if(color.equals("黑色")){throw new Exception("颜色有误!");}else if(color.equals("白色")){System.out.println("颜色正确");System.exit(0);}else{System.out.println("请重新输入颜色:");}}
    }
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

干货|移动端App自动化之触屏操作自动化

工作中我们经常需要对应用的页面进行手势操作&#xff0c;比如滑动、长按、拖动等&#xff0c;AppiumDriver 为我们提供一个模拟手势操作的辅助类 TouchAction&#xff0c;可以通过它对手机屏幕进行手势操作。 具体用法参见链接&#xff1a;chromedriver下载地址与webview自动化…

C语言入门教程,C语言学习教程(第三部分:C语言变量和数据类型)一

第三部分&#xff1a;C语言变量和数据类型 本章也是C语言的基础知识&#xff0c;主要讲解变量、数据类型以及运算符&#xff0c;这其中涉及到了数据的存储格式以及不同进制。 一、大话C语言变量和数据类型 在《数据在内存中的存储&#xff08;二进制形式存储&#xff09;》一…

el-form中一个el-form-item需要规则校验多个input

我的数据的格式&#xff1a; formData: {ipAddress: {one: ,two: ,}, }, 代码结构&#xff1a; <el-form-item label"IP地址" prop"ipAddress"><el-input-numberv-model"formData.ipAddress.one"class"ip-address":contro…

松木和桉木建筑模板:它们的性能和用途有何区别?

在建筑行业中&#xff0c;选择合适的模板材料对于保证施工质量和效率至关重要。松木和桉木是两种常用的建筑模板材料&#xff0c;它们各有特点和优势。特别是桉木&#xff0c;在某些方面相比松木有显著的优势。 松木建筑模板的特点 松木因其广泛的可用性和经济性而被广泛应用…

抛弃安卓,追赶iOS,鸿蒙能否成为中国第二大系统?

据半导体行业观察机构Techinsights发布报告预测&#xff0c;从2024年起&#xff0c;鸿蒙Harmony OS将取代苹果iOS&#xff0c;成为中国市场上第二大智能手机操作系统。 鸿蒙系统&#xff0c;支棱起来了&#xff01;去年&#xff0c;华为前脚“复活”麒麟芯片&#xff0c;后脚宣…

解决jenkins需要jdk11,项目需要jdk8的问题

思路&#xff1a;jdk8 采用解压缩模式&#xff0c;jdk11采用安装模式&#xff0c;然后在jenkins中指定jdk路径 下载解压缩jdk8 https://www.oracle.com/java/technologies/downloads/#java8 解压缩&#xff1a;jdk-8u391-linux-i586.tar.gz /lib/ld-linux.so.2: bad ELF inte…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑥

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷6 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷6 模块一…

时空数据各大顶会最新论文和代码分享,结合多模态、扩散学习等热门主题

本次继续分享时空数据相关的论文。上一期戳这里↓&#xff1a;时空预测方向最新研究成果汇总&#xff0c;附13篇必看顶会论文https://blog.csdn.net/weixin_42645636/article/details/135369217 在刚刚过去的2023年间&#xff0c;我们不仅在时空数据领域的传统任务上取得了许多…

Redis 内存淘汰策略有哪些?过期数据如何删除?

Redis 在面试中出现的概率非常大&#xff0c;毕竟后端项目如果用到分布式缓存的话&#xff0c;一般用的都是 Redis。目前&#xff0c;还没有出现一个能够取代 Redis 的分布式缓存解决方案。 这篇文章中&#xff0c;我会分享几道 Redis 内存管理相关的问题&#xff0c;都很常见…

uniapp引入第三方字体库如(宋体、喜鹊燕书体、字小魂歌以晓手迹行楷体等) 最优解决方案

最近在开发一个写对联的小程序&#xff0c;其中要求对联文字以不同字体呈现&#xff0c;比如&#xff08;宋体、喜鹊燕书体、字小魂歌以晓手迹行楷体等&#xff09;&#xff0c;如图&#xff1a; 一般UI设计给的都是这种.tff格式的字体文件&#xff0c;如图&#xff1a; 那么…

猫咪主食冻干真的对猫好吗?最热门的三款主食冻干对比测评

随着对猫咪主食健康和营养问题的关注度提高&#xff0c;越来越多的铲屎官开始重视科学养猫。 主食冻干因其模拟猫咪原始捕猎猎物模型配比、低温加工的特点&#xff0c;被认为是最符合猫咪饮食天性的选择。 相比传统的膨化猫粮&#xff0c;主食冻干中的淀粉和碳水化合物添加较…

计算机网络 物理层

文章目录 物理层物理层的基本概念数据通信的基础知识数据通信系统的模型有关信道的几个基本概念信道的极限容量 物理层下面的传输媒体导引型传输媒体非引导型传输媒体 信道复用技术波分复用码的复用 宽带接入技术ADSL 技术光纤同轴混合网 (HFC 网&#xff09;FTTx 技术 物理层 …

爬虫01-爬虫原理以及爬虫前期准备工作

文章目录 1 爬虫基本原理什么是爬虫爬虫功能详解爬虫基本流程两个概念&#xff1a;request和response 2 一些问题爬虫能抓取什么样的数据&#xff1f;抓取的数据怎么提取部分内容&#xff1f;数据解析方式。为什么我爬虫抓取的数据和浏览器看到的不一样怎样解决JavaScript渲染的…

阿里云弹性计算技术公开课-ECS 安全季 全新上线!

云布道师 如何保障云上业务的应用安全和数据安全&#xff0c;是每一个上云的企业和用户关注的重点。云上安全建设是一个体系化工程&#xff0c;需要用户主动进行多方面的考虑和实施&#xff0c;包括制定完善的安全策略和规范&#xff0c;如身份认证、访问控制、漏洞管理、安全…

超实用的公众号内容制作流程,小白也能轻松学会

公众号是以内容为王的平台&#xff0c;保持优质原创内容发布可以给公众号带来源源不断的流量&#xff0c;稳定输出内容&#xff0c;会获得平台的流量扶持。 很多小伙伴运营公众号都没有什么阅读量&#xff0c;一方面是公众号内容同质化越来越严重&#xff0c;另外一方面是公众…

完全卸载grafana

查看要卸载的包的名字 yum list installed yum remove grafana-enterprise.x86_64 成功

【tensorflowflutterweb】机器学习模型怎样用到前端上(未写完)

书接上回 在上一章 我们谈了怎么根据项目需求构建一个简单的机器学习模型。 ​​​​​​ ​​​​​​【tensorflow&flutter】自己写个机器学习模型用在项目上&#xff1f;-CSDN博客文章浏览阅读852次&#xff0c;点赞22次&#xff0c;收藏15次。【tensorflow&flutter…

【2023 - 探索】博0到博1,游戏新地图的探索日志

【2023 - 探索】博0到博1&#xff0c;游戏新地图的探索日志 写在最前面CSDN探索日志2023的探险 探索日志年终回顾探索 冒险回顾实习6月开始跟着老师做科研年中的一些其他事情9月开始上课开学后11月&#xff0c;读者互动 新年展望新年祝福 写在最前面 2023&#xff0c;我解锁了新…

C语言——结构体类型(二)【结构体内存对齐,结构体数组】

&#x1f4dd;前言&#xff1a; 上一讲结构体类型&#xff08;一&#xff09;中&#xff0c;我们讲述了有关结构体定义&#xff0c;创建&#xff0c;初始化和引用的内容&#xff0c;这一讲&#xff0c;我们进一步学习结构体的相关知识&#xff1a; 1&#xff0c;结构体内存对齐…

腾讯云2024年优惠券领取入口汇总

腾讯云是国内知名的云计算服务提供商&#xff0c;提供了包括云服务器、云数据库、云存储、人工智能等全方位的云服务。为了吸引更多的用户&#xff0c;腾讯云经常会推出各种优惠券&#xff0c;让用户在购买云服务时能够享受到更多的优惠&#xff0c;下面给大家整理汇总最新腾讯…