抛出异常而不是返回。方法返回的实际类型是什么?
php小编子墨带来的java问答文章将解答一个常见问题:“抛出异常而不是返回。方法返回的实际类型是什么?”在Java中,当方法抛出异常时,方法的返回类型实际上是void,而不是抛出异常的类型。这意味着方法并没有返回任何值,而是在遇到异常时直接抛出。在处理异常时,可以使用try-catch语句来捕获异常并进行相应处理,确保程序的稳定性和可靠性。
问题内容
我正在深入挖掘 Java 中 URL
类的 openStream()
方法,以找到其实际的返回类型。来自OpenJDK,其来源是:
公共最终InputStream openStream()抛出java.io.IOException { 返回 openConnection().getInputStream(); }
返回类型显然是 InputStream
的 Object,它是一个抽象类。那么,这是声明的类型,返回对象的实际类型是什么?
我遵循 openConnection()
方法,该方法返回 URLConnection
类的对象。我还顺着它的源码找到了getInputSteam()
的返回。最后,我找到了这段代码:
公共输入流 getInputStream() 抛出 IOException { throw new UnknownServiceException("协议不支持输入"); }
我的问题是 getInputStream()
的实际返回类型是什么,这将是 openStream()
的实际返回类型?
解决方法
这是使用 HTTPS 地址的示例。
使用调试过程,并在URL#openStream方法上放置断点。
而且,我的意思是实际的方法,而不是您的调用。
从这里,“步入”openConnection方法。
然后,“步入”openConnection(URL)方法。
这会将您带到 sun.net.www.protocol.https.Handler 类。
再次前进到 openConnection(URL, Proxy) 方法,该方法返回 sun.net.www.protocol.https.HttpsURLConnectionImpl 的新实例。
进一步遍历,您会发现通过 sun.net.www.protocol.https.DelegateHttpsURLConnection 类返回了 HttpsURLConnection 的实例。
你知道,当我几年前开始使用 Java 时,我(几乎)有这个确切的问题,除了我对 java.awt.Graphics
感到困惑。
这个想法是,您实际上不需要知道精确的类 - 任何实现该接口的东西都可以换入或换出。随着时间的推移,这使得代码的适应性更强。
以上是抛出异常而不是返回。方法返回的实际类型是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

比特币,作为一种加密货币,自问世以来经历了显着的市场波动。本文将提供比特币自诞生以来的历史价格总览,帮助读者了解其价格趋势和关键时刻。通过分析比特币的历史价格数据,我们可以了解市场对其价值评估、影响其波动的因素,并为未来投资决策提供依据。

比特币自 2009 年创世以来,价格经历多次大幅波动,最高涨至 2021 年 11 月的 69,044.77 美元,最低跌至 2018 年 12 月的 3,191.22 美元。截至 2024 年 12 月,最新价格突破 100,204 美元。

实时比特币美元价格 影响比特币价格的因素 预测比特币未来价格的指标 以下是 2018-2024 年比特币价格的一些关键信息:

是的,H5页面制作是前端开发的重要实现方式,涉及HTML、CSS和JavaScript等核心技术。开发者通过巧妙结合这些技术,例如使用<canvas>标签绘制图形或使用JavaScript控制交互行为,构建出动态且功能强大的H5页面。

CSS自定义resize符号的方法与背景色统一在日常开发中,我们经常会遇到需要自定义用户界面细节的情况,比如调...

如何使用JavaScript或CSS控制浏览器打印设置中的页首和页尾在浏览器的打印设置中,有一个选项可以控制是否显�...

关于inline-block元素错位显示的原因及解决方案在编写网页布局时,我们常常会遇到一些看似奇怪的显示问题。比...