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块中被捕获和处理。

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

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

相关文章

ES开发及面试手册

入门基础 简介 Elasticsearch是一个基于Lucene的搜索和分析引擎,它提供了一个分布式、多租户能力的全文搜索引擎,具有HTTP Web界面和无模式JSON文档。 使用场景 什么是全文检索 全文检索 是一种信息检索技术,它允许用户通过输入查询关键词来…

【三维重建NeRF(三)】Mip-NeRF论文解读

本文结合深蓝学院课程学习和本人的理解,欢迎交流指正 文章目录 Mip-NeRF流程简述混叠问题与MipMapMip-NeRF提出的解决办法圆锥台近似计算与集成位置编码(IPE) Mip-NeRF流程简述 Mip-NeRF的大体流程和NeRF基本是一样的,NeRF介绍 创新的部分就是针对NeRF…

系统安全及应用11

一个新的服务器到手之后,部署服务器的初始化 1、配置IP地址 网关 dns解析(static)内网和外网 2、安装源外网(在线即可),内网(只能用源码包编译安装) 3、磁盘分区,lvm …

mybatis—plus和mybatis的区别

一前置知识: CRUD操作(create 添加数据read读取数据 update 修改数据delete删除数据) 二,总体概览 MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发工作、提高…

二人订单共享模式:新零售电商盈利新秘诀

电商江湖日新月异,竞争如火如荼,如何脱颖而出,赢得消费者?二人订单共享模式,这是一种全新的商业模式,旨在打造爆款产品,迅速吸引大量客源,并激发消费者重复购买欲望。 首先&#xf…

Centos 报错 One of the configured repositories failed

目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 使用yum update更新命令就出现下面问题,系统是刚安装的,然后修改了一下IP变成手动。(排查问题前,先回顾自己做了哪些操作,方便进一步排错&a…

C++程序命令行参数学习

argc是参数个数&#xff1b; argv[0]是程序名&#xff0c;argv[1]是第一个参数&#xff1b; 如果输入osgptr1 x &#xff0c;osgptr1是程序名&#xff0c;argc是2&#xff1b; 不算程序名&#xff0c;实际的参数个数是argc-1&#xff1b; #include <iostream>using …

免费!手把手教你用扣子搭建个人知识库

很多人都在寻找一个高效的方式来构建个人知识库&#xff0c;好消息是&#xff0c;随着AI大模型的兴起&#xff0c;每个人都有机会拥有一个熟悉自身的专属AI助手。今天&#xff0c;我就来跟大家详细分享一下如何使用字节跳动推出的神器——扣子&#xff0c;零代码构建个人或企业…

推荐低成本低功耗的纯数字现场可重构IC

CPLD采用CMOS EPROM、EEPROM、快闪存储器和SRAM等编程技术&#xff0c;从而构成了高密度、高速度和低功耗的可编程逻辑器件。 RAMSUN提供的型号LS98003是通用可配置的数字逻辑芯片&#xff0c;有体积小、超低功耗和高可靠性等特点。客户可以根据自己的功能需求设计芯片&#x…

MyBatis:简化数据库操作的强大工具

摘要&#xff1a;本文将介绍MyBatis&#xff0c;一个流行的Java持久层框架&#xff0c;它通过简单的API和易用的特性&#xff0c;帮助开发者更高效地进行数据库操作。我们将探讨MyBatis的核心概念、配置和使用方法&#xff0c;并通过示例展示其在实际项目中的应用。 正文&…

O2O : Finetuning Offline World Models in the Real World

CoRL 2023 Oral paper code Intro 算法基于TD-MPC&#xff0c;利用离线数据训练世界模型&#xff0c;然后在线融合基于集成Q的不确定性估计实现Planning。得到的在线数据将联合离线数据共同训练目标策略。 Method TD-MPC TD-MPC由五部分构成: 状态特征提取 z h θ ( s ) …

Mongodb的数据库简介、docker部署、操作语句以及java应用

Mongodb的数据库简介、docker部署、操作语句以及java应用 本文主要介绍了mongodb的基础概念和特点&#xff0c;以及基于docker的mongodb部署方法&#xff0c;最后介绍了mongodb的常用数据库操作语句&#xff08;增删改查等&#xff09;以及java下的常用语句。 一、基础概念 …

PhpSpreadsheet表格导出

个人笔记记录 使用PhpSpreadsheet 导出excel。 多重表头生成excel 表 //读取数据库public function demo1(){// 连接spc数据库$config Config::get(databaseedc);$db Db::connect($config);$data $db->name("xxxx")->alias(a)->field(main_header, sub_…

《网络安全技术 生成式人工智能服务安全基本要求》征求意见稿

1. 训练数据安全要求 &#xff08;1&#xff09;数据来源安全&#xff1a; 采集来源管理&#xff1a; 采集数据前应进行安全评估&#xff0c;含违法不良信息超过5%的数据源不得使用。 采集后需核验&#xff0c;含违法不良信息超过5%的数据不得用于训练。 不同来源训练数据搭…

四川汇聚荣聚荣科技有限公司评价怎么样?

四川汇聚荣聚荣科技有限公司评价如何?在科技日新月异的今天&#xff0c;四川汇聚荣聚荣科技有限公司作为业界的一员&#xff0c;其表现自然引起了广泛关注。那么&#xff0c;这家公司究竟如何呢?接下来&#xff0c;我们将从四个不同方面对其进行深入剖析。 一、技术实力 四川…

教务管理系统带万字文档基于springboot+vue的校务管理系统java项目

文章目录 教务管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 教务管理系统 一、项目演示 校务管理系统 二、项目介绍 基于springbootvue的前后端分离教…

Leetcode:整数转罗马数字

题目链接&#xff1a;12. 整数转罗马数字 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;贪心&#xff09; 条件分析&#xff1a;罗马数字由 7 个不同的单字母符号组成&#xff0c;每个符号对应一个具体的数值。此外&#xff0c;减法规则还给出了额外的 6 个复…

简单聊下服务器防病毒

在当今数字化时代&#xff0c;服务器作为数据存储、处理与传输的核心设备&#xff0c;其安全性显得尤为关键。服务器防病毒工作&#xff0c;不仅是保障企业信息安全的重要一环&#xff0c;更是维护用户数据隐私的关键举措。以下&#xff0c;我们将从多个方面&#xff0c;简单探…

Unity之XR Interaction Toolkit如何使用XRSocketInteractable组件

前言 在虚拟现实(VR)和增强现实(AR)开发中,交互性是提升用户体验的关键。Unity作为一个领先的游戏开发引擎,提供了多种工具支持VR/AR开发。Unity的OpenXR插件扩展了这一功能,提供了更强大和灵活的交互系统。其中一个非常有用的组件是XRSocketInteractable。本文将详细介…

串口控制小车和小车PWM调速

1.串口控制小车 1. 串口分文件编程进行代码整合&#xff0c;通过现象来改代码 2.接入蓝牙模块&#xff0c;通过蓝牙控制小车 3.添加点动控制&#xff0c;如果APP支持按下一直发数据&#xff0c;松开就停止发数据&#xff08;蓝牙调试助手的自定义按键不能实现&#xff09;&…