课时120:throw关键字

简介: 与 Throws 对应的还有 Throw 关键字,此关键字的作用在于表示手工进行异常的抛出,即:此时将手工产生的一个异常类实例化对象,并且进行异常的抛出处理。所有的异常都是Exception 的子类,在这个过程里面, Exception 有多个方法。

课时120:throw关键字

摘要:与 Throws 对应的还有 Throw 关键字,此关键字的作用在于表示手工进行异常的抛出,即:此时将手工产生的一个异常类实例化对象,并且进行异常的抛出处理。所有的异常都是Exception 的子类,在这个过程里面, Exception 有多个方法。

 

1.1 Throws 的用法


New 一个 Exception 异常,输出“自己抛着玩的对象”,编译代码输出结果如下,会报错,如果写 Throw 方法,表示必须产生对象,必须使用 Try,Catch 进行异常处理。此时的异常对象不再是由系统生成的,而是由手工定义的。

代码如下:

Public class JavaDemo{
public static void main(string args[]) (
throw new Exception("自己抛着玩的对象。") ;
}

编译结果如下:

image.png

此时使用 Try,Catch 方法处理,

image.png

代码如下:

Public class JavaDemo{
public static void main(string args[]) (
try { // 异常对象不再是由系统生成的,而是由手工定义的
throw new Exception("自己抛着玩的对象。") ;
}catch (Exception e) {
e.printstackTrace ();
}
}
}

编译结果如下:

此时可以正常执行程序,不会报错。

image.png

 

1.2经典面试题

Throw 的主要作用是手工抛出异常,于是就有一个经典的面试题:请解释 Throws 和 Throw 的区别?

Throw:是在代码块中使用的,主要是手工进行异常对象的抛出。

Throws:是在方法定义上使用的,表示将此方法中可能产生的异常明确告诉给调用处,由调用处进行异常处理。

 

相关文章
|
Web App开发 应用服务中间件 Go
尝鲜:如何搭建一个简单的webrtc服务器
前几天我一朋友问我有关webrtc的事,简单了解了下相关知识,搭建了一个webrtc的服务,以及经历的各种踩坑事件,感觉踩坑主要是Python、Node、OpenSSL等版本问题和证书问题导致。本来以为很简单的搭建,但在搭建的过程中遇到各种阻碍,写一篇文章梳理一下。
14156 0
|
开发者
处理base64图片数据的方式
处理base64图片数据的方式
390 4
|
7月前
|
SQL 存储 关系型数据库
PostgreSQL数据库指南: 自带指令命令一览表。
总结来说,掌握这些基本命令可以帮助你更有效地使用PostgreSQL数据库进行日常操作和管理工作。希望以上内容对你有所帮助!
620 6
|
JavaScript 算法 前端开发
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
3778 0
|
11月前
|
人工智能 自然语言处理 搜索推荐
传统产品经理思维在AI时代‘失灵’,能力图谱如何助力AI产品经理构建认知框架?
本文AI产品专家三桥君探讨了AI产品经理在技术快速发展背景下如何通过构建AI能力图谱来指导智能产品设计。三桥君从知识与推理、自然语言处理、交互能力和辅助决策四个维度系统梳理AI核心能力,帮助产品经理理解技术边界与应用场景。能力图谱不仅是技术地图,更是方法论工具,能够有效指导从需求分析到产品落地的全流程,包括发现问题、设计闭环系统和规划产品路径。掌握这一框架将帮助AI产品经理突破技术认知局限,打造真正智能化的产品解决方案。
436 10
|
10月前
|
数据可视化 物联网 开发者
深度解析四大LLM微调工具:从单卡到千亿级训练的四大解决方案
本文详解大语言模型微调四大工具——Unsloth、Axolotl、LlamaFactory、DeepSpeed,覆盖从单卡实验到万亿参数分布式训练场景,助你掌握主流框架选型策略,提升微调效率。建议点赞收藏。
3352 1
|
存储 人工智能 API
AgentScope:阿里开源多智能体低代码开发平台,支持一键导出源码、多种模型API和本地模型部署
AgentScope是阿里巴巴集团开源的多智能体开发平台,旨在帮助开发者轻松构建和部署多智能体应用。该平台提供分布式支持,内置多种模型API和本地模型部署选项,支持多模态数据处理。
14389 78
AgentScope:阿里开源多智能体低代码开发平台,支持一键导出源码、多种模型API和本地模型部署
|
开发者 Python
【Python】已解决:TypeError: __init__() got an unexpected keyword argument ‘port’
【Python】已解决:TypeError: __init__() got an unexpected keyword argument ‘port’
3069 0
【Python】已解决:TypeError: __init__() got an unexpected keyword argument ‘port’
|
移动开发 JavaScript 前端开发
前端常见跨域解决方案(全)
前端常见跨域解决方案(全)
1130 0