java自学阶段一:基础知识学习

《项目案例—黑马tlias智能学习辅助系统》
目录:

  1. 异常

一:学习目标:

  1. 异常:能够看懂异常信息,了解异常体系结构和分类,掌握异常的两种处理方式,自定义异常。

二、异常:
1.异常的概念:语法错误其实不是异常。
2.异常的分类:
在这里插入图片描述
注意:RuntimeException是指运行的时候可能就会出现报错,不一定会。但是对待这样的情况,我们是需要处理的

3.异常的处理流程:
在这里插入图片描述

异常的处理方式:(看问题怎么看待,如果希望处理,那就用try…catch;如果需要暴露出来,告诉外界这是你们的操作失误,那就用throw往外抛;)
1)使用try:对可能出现的地方,设置另外的执行方案
在这里插入图片描述
2)throws 往外抛
在这里插入图片描述
注意:在Java中,throw和throws都是用于处理异常的关键字。这里还有一个throw的使用,其实也是往外抛异常,但是throw直接在方法体里,预知到了,然后直接往外抛给调用者(抛给用户),throws是定义在方法上的,方便别人查看、调用,知道可能会抛出什么异常,然后你调了,就得处理

,但它们在使用和上下文中有明显的区别。

throwthrow用于在方法体中显式地抛出一个异常。
当throw语句被执行时,它会立即终止当前方法的执行,并将控制权转移到最近的能够处理该异常的异常处理器(catch块)。
如果该异常没有被捕获,那么它将被传递给调用者,以此类推,直到被捕获或到达程序的顶层(此时程序将终止)。
throw后面必须跟一个具体的异常对象。
throws:
throws用于声明一个方法可能抛出的异常,但并不在方法体中抛出这个异常。
使用throws关键字可以在方法的签名中声明一个或多个异常,这样调用者就知道需要处理哪些类型的异常。
如果一个方法使用了throws来声明它可能抛出的异常,那么调用该方法的代码要么必须处理这些异常(使用try-catch块),要么它本身也必须声明这些异常(使用throws)。
使用throw的异常示例:
java
public class ExampleWithThrow {     
    public static void main(String[] args) {  
        try {  
            // 调用一个可能会抛出异常的方法  
            performOperation();  
        } catch (ArithmeticException e) {  
            // 处理ArithmeticException异常  
            System.out.println("捕获到算术异常: " + e.getMessage());  
        }  
    }  
    public static void performOperation() {  
        int a = 10;  
        int b = 0;  
          
        // 使用throw显式地抛出一个异常  
        if (b == 0) {  
            throw new ArithmeticException("除数不能为零");  
        }   
        // 如果b不为零,则执行除法操作  
        int result = a / b;  
        System.out.println("结果是: " + result);  
    }  
}
在这个示例中,performOperation方法使用throw关键字显式地抛出了一个ArithmeticException异常。当b为0时,这个异常会被抛出,并在main方法中的try-catch块中被捕获和处理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

yolo-v8window环境运行

源码https://github.com/ultralytics/ultralytics 1.用pycharm打开YOLOv8文件夹,下载依赖项,依赖项已经以作者的名字来封装好,所以直接在终端输入:pip install ultralytics,安装好之后会默认安装的cpu版本的torch&am…

WannaMine4.0病毒应急处置

一、前言 某日,通过流量监测设备和EDR发现挖矿请求告警,并存在长期445端口扫描。 二、病毒排查 上机排查,发现该服务器存在WannaMine4.0病毒,通过网上文章了解,如果请求挖矿域名遭安全设备拦截,会导致挖矿…

AI大模型页面

自己做的AI,模仿GPT。 访问地址:欢迎 请大家给点意见,需要追加哪些功能。

《企业应用架构模式》学习指南

导读:企业应用包括哪些?它们又分别有哪些架构模式? 世界著名软件开发大师Martin Fowler给你答案 01什么是企业应用 我的职业生涯专注于企业应用,因此,这里所谈及的模式也都是关于企业应用的。(企业应用还有…

做视频号小店什么类目最容易爆单?其实,弄懂这三点就会选品了

大家好,我是电商花花。 我们做视频号小店做什么类目最容易爆单? 其实任何类目都有属于自己的受众人群和客户,都非常容易爆单,我们想要爆单,就要选对类目,选对产品。 视频号上所有的类目基本上可以分为标…

塑料焊接机熔深对激光焊接质量有什么影响

塑料焊接机的熔深对焊接质量具有直接且显著的影响。以下是熔深对焊接质量影响的详细解释: 1. 焊接强度:熔深直接决定了焊缝的截面积,从而影响焊接接头的强度。较深的熔深意味着焊缝的截面积更大,可以提供更强的结合力,…

Apache DolphinScheduler 社区5月月报更新!

各位热爱 DolphinScheduler 的小伙伴们,社区5月份月报更新啦!这里将记录 DolphinScheduler 社区每月的重要更新,欢迎关注,期待下个月你也登上Merge Star月度榜单哦~ 月度Merge Star 感谢以下小伙伴5月份为 Apache DolphinSchedu…

SpringBoot发送Gmail邮件

1. 登录Gmail Gmail网址 点击右上角“小齿轮”,然后点击"查看所有设置" 点击“转发和 POP/IMAP”,按图中设置,然后点击保存: 2. 启用两步验证(https://myaccount.google.com/security) 登录上述网址,找…

【MyBatis-plus】saveBatch 性能调优和【MyBatis】的数据批量入库

总结最优的两种方法: 方法1: 使用了【MyBatis-plus】saveBatch 但是数据入库效率依旧很慢,那可能是是因为JDBC没有配置,saveBatch 批量写入并没有生效哦!!! 详细配置如下:批量数据入…

用 HTML+CSS 实现全屏爱心滴落的动画效果,中间可显示名字

需求 在页面上显示一行白色文字,同时有爱心滴落的动画效果。 效果 HTML 和 CSS 代码 <!DOCTYPE html> <html lang="en"> <head

Kerberoasting攻击

一. Kerberoasting攻击原理 1. 原理 Kerberoasting 是域渗透中经常使用的一项技术&#xff0c;是Tim Medin 在 DerbyCon 2014 上发布的一种域口令攻击方法&#xff0c;Tim Medin 同时发布了配套的攻击工具 kerberoast。此后&#xff0c;不少研究人员对 Kerberoasting 进行了改…

揭秘Facebook:数字时代的社交奥秘

前言 在当今的数字时代&#xff0c;社交网络已经深刻改变了人们的沟通方式、信息获取方式和社交方式。其中&#xff0c;Facebook作为全球最大的社交网络平台之一&#xff0c;扮演了至关重要的角色。从一个大学生项目发展成覆盖全球的社交巨头&#xff0c;Facebook不仅见证了互…

大尺寸图像分类检测分割统一模型:Resource Efficient Perception for Vision Systems

论文题目&#xff1a;Resource Efficient Perception for Vision Systems 论文链接&#xff1a;http://arxiv.org/abs/2405.07166 代码链接&#xff1a;https://github.com/Visual-Conception-Group/Localized-Perception-Constrained-Vision-Systems 作者设计了一个统一的模…

2024年想转行WebGIS前端开发还有就业前景吗?

当然有。 无论是测绘外业、数据处理&#xff0c;还是城乡规划、遥感等等专业&#xff0c;只要你的行业就业水平一直停留在“工资低、工作条件差、对身体消耗大、没发展”的现状&#xff0c;我都劝你果断转GIS开发。 在新中地学习的学生无非就是因为上述原因&#xff0c;选择放…

Springboot 在线学习交流平台-计算机毕业设计源码46186

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;在线学习交流平台当然也不能排除在外。在线学习交流平台是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法…

乡村振兴的乡村环境综合整治:加强农村环境综合整治,改善农村人居环境,打造干净整洁的美丽乡村

目录 一、引言 二、农村环境问题的现状与挑战 &#xff08;一&#xff09;农村环境问题的现状 &#xff08;二&#xff09;农村环境问题的挑战 三、加强农村环境综合整治的必要性 &#xff08;一&#xff09;提升农民生活质量 &#xff08;二&#xff09;促进农村经济发…

AI工具:如何通过智能助手简化工作流程?

工欲善其事&#xff0c;必先利其器。 随着AI技术与各个行业或细分场景的深度融合&#xff0c;日常工作可使用的AI工具呈现出井喷式发展的趋势&#xff0c;AI工具的类别也从最初的AI文本生成、AI绘画工具&#xff0c;逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

【C/C++】——小白初步了解——内存管理

目录 1. C/C内存分布 代码区&#xff08;Code Segment&#xff09;&#xff1a; 数据区&#xff08;Data Segment&#xff09;&#xff1a; 堆区&#xff08;Heap&#xff09;&#xff1a; 栈区&#xff08;Stack&#xff09;&#xff1a; 常量区&#xff08;Constant Seg…

GE的六西格玛是怎么成功的?

六西格玛作为一种先进的质量管理方法&#xff0c;旨在通过消除缺陷、提高流程效率来降低成本、增强客户满意度。GE作为最早采用六西格玛的公司之一&#xff0c;其成功的原因首先离不开高层领导对精益六西格玛理念的坚定支持和推动。公司高层不仅亲自参与培训和项目实践&#xf…

Android电量优化,让你的手机续航更持久

节能减排&#xff0c;从我做起。一款Android应用如果非常耗电&#xff0c;是一定会被主人嫌弃的。自从Android手机的主人用了你开发的app&#xff0c;一天下来&#xff0c;也没干啥事&#xff0c;电就没了。那么他就会想尽办法找出耗电量杀手&#xff0c;当他找出后&#xff0c…