黑马程序员--java基础--异常(二)

深入解析 Java 中的 throw 和 throws:异常处理机制的核心 throw用于抛出一个异常对象,表示程序在某个地方遇到了问题,需要中断当前流程并将异常传递出去。throws用于方法声明中,表示该方法可能会抛出某种类型的异常,提醒调用者处理这些异常。throw和throws通常结合使用,throws在方法签名中声明异常,throw在方法内部抛出具体的异常。正确理解和使用throw和throws关键字,可以帮助程序员更好地控制程序的异常流和错误处理,提升程序的稳定性和可维护性。 阅读详情

-------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流>-----

1. throws声明异常

用throws关键字在方法中声明可能出现的异常。如果出现异常,这些异常只是被抛出,方法本身不对其做出处理,而是传给上级处理。

格式:在方法名和大括号之间加入throws 异常类

例如:  public int  method ( int a )  throws   Exception {

 

}

可以声明多个异常,在异常类之间用逗号隔开

public  int  method (int a)  throws  Exception 1 , Exception 2 ,Exception3 {

 

}

 

党在方法中声明可能发生的异常时,为了让编译通过,有两种处理方式:

(1)在main方法中声明异常,即不做处理,交给虚拟机处理。

(2)在main中使用try捕获。

2. throw抛出异常

当异常发生时,在方法内部使用throw 关键字抛出异常,把它抛给上一级调用者。抛出的是异常对象或者异常引用。

例如:

public int  method (int  a) method  throw Exception{

      ……….

throw  new  ArithmeticException();

………..

}

为了让编译通过,两种处理方式:

(1)      在方法上用throws声明异常。(常用)

(2)      使用try捕获。

1.      throw 和 throws 的区别:

(1)      throws是声明异常用在方法上,throw是抛出异常用在方法中。

(2)      throws后面加 异常类 , throw后面加 异常对象

(3)      throws 是可能发生异常 ,throw是已经发生异常。

2.      RuntimeException 异常类

如果在方法内容抛出该异常throw ,方法上可以不用声明,编译一样可以通过。

如果在方法内容声明了该异常throws ,调用者可以不用进行处理,编译一样可以通过。

 

之所以不用在方法上声明,是因为不需要让调用者处理。

当该异常发生时,虚拟机希望程序停止。因为在程序运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修改。

3.      自定义异常类

自定义异常需要靠继承成为异常类。

通常主要继承Exception或者RuntimeException两个异常类。

例如:

Class MyException  extends   Exception {

MyException(String str){  // 构造函数

     super (str);

}

}

 

 


黑马程序员入学Java知识——精华总结 黑马程序员入学Java知识——精华总结   J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结!   一、黑马程序员—java概述与基础知识 6 1、何为编程? 6 2、Java语言概述,历史、特点 6 3、什么是跨平台性?原理是什么?JVM 7 4、Jre和Jdk的区别? 7 5、java虚拟机JVM 8 6、 Java程序运行机制 8 7 阅读详情

相关推荐

throw 和 throws 的区别

throw” 是一个关键字,用于在程序中显式地抛出异常。抛出异常后,程序的正常流程会被中断,寻找匹配的异常处理代码(例如 try-catch 块)来处理该异常。“throws” 是用于函数或方法声明的关键字,在函数或方法的签名中使用。它指示该函数可能会抛出指定类型的异常,而不是实际抛出异常。“throw” 和 “throws” 是与异常处理相关的关键字,通常在编程语言中使用。readDataFromFile 方法声明了可能抛出 IOException 异常,因此调用该方法的代码必须进行适当的异常处理。

JustinMars的博客 815

详述throw与throws

详述throw与throws 一、关键字throw 1、作用 throw用于抛出具体异常类的对象,一般用于方法体中。 throws用于声明方法可能抛出的异常,其后为异常类,可以有多个,异常类之间用英文逗号间隔。 2、什么时候使用? 当所写的代码因不满足某些条件致使程序无法运行时可以借助throw抛出一个异常对象提醒程序员。 public class Student { pu...

weixin_43964847的博客 2636

Java异常处理--throw手动抛出异常对象

Java异常处理--throw手动抛出异常对象

人生得意须尽欢 5929

Java基础语法(十三):throw和throws

在 Java 编程中,异常处理是非常重要的一环,它不仅能够保护程序运行的稳定性,还能够提高代码的可读性和易维护性。Java 中抛出异常的语句有两种,分别是 throw 和 throws,本文将详细介绍这两个关键字的使用方法及其区别。一、throw 和 throws 都是 Java 中用于异常处理的关键字,它们的作用不同。throw 用于抛出异常对象,主要用于在代码中手动抛出异常。throws 用于声明方法可能会抛出哪些异常,在方法调用栈中往上层抛出异常,依赖于调用该方法的上层代码去处理。

分享是一种积极的生活态度~~ 1万+

PSCAD学习笔记(1)Project Settings(重点snapshot设置)

若不勾选,则横坐标为实际时间2-7s,故障显示在第3s发生。图片中时间坐标轴显示为0-5s,故障时刻显示为第1s,即0-1s展示系统稳态,1-5s展示系统发生故障后的暂态响应,如何通过快照文件实现?勾选该项后,使用快照文件启动仿真会将仿真起始时间强制设置为0s,反之不勾选则依据快照文件保存的时间轴继续(即坐标为实际时间)。如果已有的快照文件保存的是0s至5s的仿真内容,则仿真运行时间从5s开始,到10s结束。如果已有的快照文件保存的是0s至2s的仿真内容,则仿真运行时间从2s开始,到7s结束;

gwenh的博客 7343

NC数据预处理避坑指南:从MATLAB读取到GeoTIFF导出,解决坐标翻转与值域异常

本文详细解析了NC数据预处理中的常见问题,包括MATLAB读取时的坐标翻转与GeoTIFF导出时的值域异常。通过实战案例,介绍了如何解决矩阵方向错乱、处理FillValue与scale_factor、精准移植空间参考等关键问题,帮助研究者高效完成气象数据的批量处理与GIS兼容性验证。

weixin_30788619的博客 653

黑马程序员_java基础3-面向对象(二)多态、异常、包

------- android培训、java培训、期待与您交流! ---------- (day08)面对对象(二)*************************************************************************** @@多态: 体现,前提,好处,应用。 理解为事物存在的多种形态。动物 x = new 猫(); 体现:父类的引用指向了自己的

wzq330995030的专栏 783

OPC DCOM详细配置方法 - 不关防火墙不换登陆用户

1. 前言   OPC DCOM的设置是实现跨网络OPC通信的基础,现有的一些OPC DCOM配置教程虽然讲解了如何配置DCOM,但没有讲清楚为什么要这么做,而且各个教程涉及的配置方法也不尽相同。   为了彻底搞清楚OPC DCOM的配置过程,我重新做了两台机器的系统,一台是Windows 7 32位,一台是Windows 10 64位,并且重零开始完整的测试了正常运行OPC DCOM所需的最少的...

steventian72的博客 3万+

黑马程序员 Java 最新教程:开启你的编程之旅

黑马程序员 Java 最新教程:开启你的编程之旅 【下载地址】黑马程序员Java最新教程 黑马程序员 Java 最新教程欢迎来到黑马程序员的 Java 最新教程资源页面 项目地址: https://gitcode.com/Reso...

gitblog_06512的博客 617

从硬件到软件:深度解析D435i USB SCP overflow错误的根源与解决方案

本文深入解析Intel RealSense D435i相机在ROS环境下常见的'USB SCP overflow'错误,特别是与`control_transfer`相关的错误提示。从硬件配置到软件优化,详细介绍了如何通过调整USB接口、优化`rs_camera.launch`参数、更新固件驱动等方法解决数据传输溢出问题,提升设备稳定性和性能。

yy01234的博客 771

销售预测的方法与模型(三)丨安全库存与再订货(补货)

较高的 Z 值对应较高的服务水平(例如,服务水平 99% 对应 Z 值 2.33),意味着企业希望更低的缺货风险,因此需要更高的安全库存。在再订货点的管理中,考虑到供应商交货的不确定性,通常需要结合安全库存,以防止在交货期间库存用尽。要对L开根号,根号L表示交货周期越长,企业需要的安全库存越多,因为在较长的供应期内,需求波动的累积效应更明显。举例:供应商的交期服从标准差为2件/天的正态分布,顾客需求为50件/天的正态分布,若要客户服务水平达到 90%,安全库存量应该是多少?下面介绍几种核心的模型与公式。

weixin_45675709的博客 1534

黑马程序员--Java基础之异常Exception

Java基础之异常Exception 一、异常概述 1、异常是什么:是对问题的描述,将问题进行对象的封装。 2、异常体系:Throwable: |---Error,严重的问题,对于Error一般不编写针对性的代码对其进行处理。 |---Exception,非严重的问题,可以针对性处理。 |---RunTimeException; 异常体系的特点:异常体系中的所有类及对象都具有可抛

AliceAutumn的专栏 898

AI:270-基于ASFF改进YOLOv8检测头的多尺度特征融合方法详解与实战

ASFF是一种基于自适应特征融合的策略,能够动态调整不同尺度特征的融合权重,适应场景中不同大小的目标。传统的YOLOv8检测头使用固定的特征融合策略,而ASFF则通过引入学习参数,使得网络能够根据输入图像的特征自适应地选择不同尺度特征的重要性。这一策略对于检测小目标或尺度变化大的目标具有显著优势。本文提出了一种改进YOLOv8检测头的新方法,通过引入自适应空间特征融合模块(ASFF),有效提升了多尺度目标检测的性能,特别是在小目标检测任务中的表现。

一键难忘的博客 3913

黑马程序员Java语言进阶学习资源

黑马程序员Java语言进阶学习资源 去发现同类优质开源项目:https://gitcode.com/ 资源简介 此压缩文件包含了黑马程序员出品的Java语言进阶课程的所有源码和教程笔记。课程内容覆盖了Java编程的核心知识点,适合有一定Java基础的学习者进行进阶提升。 课程目录 以下是资源中包含的课程内容: day01: Object类、常用API day02: Collection、泛型 d...

gitblog_06712的博客 650

跨境电商产品信息抓取:使用Python爬虫进行市场分析

跨境电商平台是指为不同国家和地区的买卖双方提供在线交易服务的电子商务平台。亚马逊(Amazon):全球最大的电商平台之一,提供丰富的商品种类和全球配送服务。eBay:全球知名的在线拍卖和购物网站,支持个人和企业卖家。速卖通(AliExpress):阿里巴巴旗下的跨境电商平台,主要面向全球消费者提供中国制造的商品。Wish:以移动端为主的跨境电商平台,主打低价商品和个性化推荐。这些平台上的商品数据包括商品名称、价格、销量、用户评价、库存等信息,对于市场分析具有重要价值。

2201_76125261的博客 1233

【DNN实现二分类模型推理部署(C#)----20240712】

【DNN实现二分类模型推理部署(C#)----20240712】

weixin_44119674的博客 212

【亲测免费】 黑马程序员 Java 最新教程

黑马程序员 Java 最新教程 【下载地址】黑马程序员Java最新教程 黑马程序员 Java 最新教程欢迎来到黑马程序员的 Java 最新教程资源页面 项目地址: https://gitcode.com/Resource-Bund...

gitblog_06525的博客 840

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

黑马程序员Javase笔记:Java学习者的必备笔记

黑马程序员Javase笔记:Java学习者的必备笔记 【下载地址】黑马程序员Javase笔记 这份Java学习笔记专为初学者设计,涵盖了Javase的核心知识点,助您轻松入门Java编程。笔记详细整理了Java基础语法、面向对象编程、异常处理、集合框架、输入输出流以及多线程等重要内容,内容清晰易懂,适合自学使用。作者在学...

gitblog_06772的博客 432

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

黑马程序员——Java基础——异常

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 异常的概述: package cn.fuxi.exception; /** * 异常的体系 * 异常:是在运行时期发生的不正常情况. * 在java中用类的形式对不正常情况经行了描述和封装对象.描述不正常的情况的类,就称为异常类. * 1.以前是正常流程代码和问题处理代码相结合,现在

maidou51的博客 600

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

黑马程序员——Java异常

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、学 习 目  的 本模块学习结束后,能够: 定义异常使用try,catch和finally语句描述异常分类开发程序来处理自己的异常   二、介绍 什么是异常?在Java编程语言中,异常类定义程序中可能遇到的轻

zty447647649的博客 451

黑马程序员—黑马历程--我的人生,我的路--黑九的我毕业了

文章来源:黑马程序员,黑马论坛

heima_24的专栏 1720

黑马程序员——Java基础__异常

 面向对象——异常 Java是面向对象的语言,当然也对异常包装成了对象(Throwable),方便了我们的使用 异常:就是程序在运行时出现不正常情况。 异常由来: 问题也是现实生活中一个具体的事物,也可以通过Java的类的形式进行描述。并封装成对象。  其实就是Java对不正常情况进行描述后的对象的体现。描述不正常的情况的类,就称为异常类。 不同的

W49408322的专栏 659

黑马程序员的基础班都是一些什么内容?

黑马程序员的基础班都是一些什么内容?

技术专家 1547

黑马程序员-java异常

------- android培训、java培训、期待与您交流! ----------

tototu的专栏 1283

黑马程序员 Java基础<五>异常

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 一、异常概述: 1、异常是指程序在运行时出现的不正常情况 2、异常由来:问题是现实生活中的事物,也可以通过java类的形式进行描述,并封装成对象。因为异常也可以被抽取,形成一个体系,并由一个个具体的实例组成,也是一个个对象。 3、程序可能出现的错误或问题 a

u013994113的专栏 554

黑马程序员-java基础 异常

---------------------- android培训 、java培训 、期待与您交流! ----------------------   异常: 异常就是程序在运行时出现的不正常情况。 异常的由来: 问题也是现实生活中的一个具体事物,也可以通过java的类的形式进行描述。并封装成对象。其实就是java对不正常情况 进行描述后的对象体现。 异常分为两种:一种是严重的问题(Err

hks2012的专栏 242
上一篇: 黑马程序员--java基础--异常(一)
下一篇: 黑马程序员--java基础--构造方法
airukongcheng
博客等级 码龄14年 3粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值