Java 异常作为已检查异常但不需要在 trycatch 中抛出

2023-12-04

我有这个片段。

public final class StackOverflow{
   class MyException extends Throwable{
   }
   private void a(){
       try{
       }catch(MyException | Exception e){
       }
   }
}
exception StackOverflow.MyException is never thrown in body of corresponding try statement

我知道 Exception 也扩展了 Throwable,并且也是一个已检查的异常,MyException 也扩展了 Throwable,这也成为了一个已检查的异常!

我的问题是为什么在 try catch 中不需要抛出 Exception 而 MyException 却是?我认为两者都是检查异常,那么有什么区别?

抱歉,如果问题很简单。


它的解释在Java语言规范(强调以粗体显示):

如果出现以下情况,则这是一个编译时错误catch clause 能赶上检查异常类 E1,但情况并非如此try对应的块catch clause 可以扔作为 E1 的子类或超类的检查异常类,除非 E1 是Exception或一个超类Exception.

我想这背后的理由是:MyException确实是一个受检查的异常。然而,未经检查的异常也延伸Exception(传递继承自RuntimeException),所以有一个catch包括Exception类被排除在编译器执行的异常分析之外。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 异常作为已检查异常但不需要在 trycatch 中抛出 的相关文章

  • 如何在Java中优雅地处理SIGKILL信号

    当程序收到终止信号时如何处理清理 例如 我连接到一个应用程序 希望任何第三方应用程序 我的应用程序 发送finish注销时的命令 发送该信息最好说什么finish当我的应用程序被破坏时的命令kill 9 编辑1 kill 9无法被捕获 谢谢
  • 项目缺少所需的注释处理库

    我的 Eclipse IDE 突然在问题视图中显示 xxxx 项目缺少所需的注释处理库 xxxx M2 REPO 中的一些旧 jar 我用谷歌搜索 没有找到任何答案 为什么我的项目使用旧的 jar 以及错误来自哪里 To remove th
  • 关于Java泛型的一些问题

    假设我有以下接口和实现类 interface Foo
  • Java - JPanel 内有边距和 JTextArea

    我想创建这样的东西 主面板有其边距 x 并且 TextArea 位于该面板的中心 几乎填满了面板 底部是另一个具有自定义尺寸 高度 y 的面板 可以使用某些快捷方式将其切换为可见和不可见 底部面板有 FlowLayout 和几个元素 问题是
  • java.lang.Object的hashCode具体使用的算法是什么

    中使用的算法是什么JVM实施java lang Object的隐含的hashCode 方法 OpenJDK or Oracle JDK答案中首选 它依赖于实现 并且在很大程度上 该算法是entirely取决于实施 只要它是一致的 但是 根据
  • 从 HttpClient 3 转换为 4

    我已经成功地对所有内容进行了更改 但以下内容除外 HttpClient client HttpPost method client new DefaultHttpClient method new HttpPost url InputStr
  • 更改 JComboBox 中滚动条的大小

    有谁知道如何手动更改 jComboBox 中的滚动条大小 我已经尝试了一大堆东西 但没有任何效果 好吧 我明白了 您可以实现 PopUpMenuListener 并使用它 public void popupMenuWillBecomeVis
  • Android 解析 JSON 卡在 get 任务上

    我正在尝试解析一些 JSON 数据 我的代码工作了一段时间 我不确定我改变了什么突然破坏了代码 当我运行代码时 我没有收到任何运行时错误或警告 我创建一个新的 AsyncTask 并执行它 当我打电话时 get 在这个新任务中 调试器在此行
  • 如何在 Bean Validation 1.0 中构造 ConstraintViolationException?

    我对 javax validation API 感到困惑 我正在编写一个简单的测试来理解它 Sample sample new Sample Set
  • 使用 HTTPServletRequestWrapper 包装请求参数

    我有一个可以验证 授权 REST 调用的过滤器 该过滤器需要访问请求参数 因此我为此编写了一个自定义 HTTPServletRequestWrapper import java util Collections import java ut
  • java swing:向 JTree 项目添加自定义图形按钮

    我想在 JTree 中的项目右侧添加一个带有小图标的附加按钮 这可以做到吗 如果是这样 怎么办 thanks Clamp 你在这方面成功了吗 我想做同样的事情 但很难让 JButton 响应用户 设置渲染器以显示按钮的过程很顺利 但所有鼠标
  • JAXB 编组器无参数默认构造函数

    我想从 java 库中编组一个 java 对象 当使用 JAXB marschaller 编组 java 对象时 我遇到了一个问题 A 类没有无参数默认构造函数 我使用Java Decompiler来检查类的实现 它是这样的 public
  • 在循环中按名称访问变量

    我正在开发一个 Android 项目 并且有很多可绘制对象 这些绘图的名称都类似于icon 0 png icon 1 png icon 100 png 我想将这些可绘制对象的所有资源 ID 添加到整数 ArrayList 中 对于那些不了解
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • Java:一个函数有多种返回类型...可以使用泛型吗?

    为了简单起见 我有一些程序 如下所示 public String fetchValueAsString String key public DateTime fetchValueAsDateTime String key 我想要类似的东西
  • 如何将库添加到 LIBGDX 项目的依赖项 gradle

    一切都在问题中 我已经尝试了在 SO 和其他网站中找到的所有答案 但没有运气 这就是我迄今为止尝试过的 adding compile fileTree dir lib include jar 到我的 build gradle adding
  • 如何清理 Runtime.exec() 中使用的用户输入?

    我需要通过命令行调用自定义脚本 这些脚本需要很少的参数并在 Linux 机器上调用 当前版本容易出现各种shell注入 如何清理用户给出的参数 参数包括登录名和路径 Unix 或 Windows 路径 用户应该能够输入任何可能的路径 该路径
  • java.lang.ClassCastException:com.sun.proxy.$Proxy8 无法转换为 org.openqa.selenium.internal.WrapsDriver

    我有以下切入点和 AspectJ 中给出的建议 Pointcut call org openqa selenium WebElement sendKeys public void onWebElementAction After onWeb
  • @Embeddable 中的 @GenerateValue

    我已将实体的 id 分离到一个单独的 Embeddable 类中 该实体如下 Entity Table name users public class Users EmbeddedId private Users pk id private
  • 使用 AmazonSNSClient 发送短信时的授权

    aws 官方文档如何发送短信 http docs aws amazon com sns latest dg sms publish to phone html使用 java 中的 aws SDK 非常简单 但是 当发送如底部示例所示的消息时

随机推荐

  • 注册应用程序以打开图像文件

    我已成功注册我的应用程序以打开 PDF 文件 方法是将以下内容包含在我的 info plist 中
  • 最新浏览器中抛出 getusermedia DevicesNotFoundError

    我已经在 WebRtc 上使用 getUserMedia 一段时间了 但自从浏览器最新更新以来我一直无法使用它 在以前的版本上工作得很好 受影响的浏览器版本 火狐 57 0 4 铬 63 0 3239 132 示例代码 navigator
  • 引导程序启动时如何关闭菜单折叠?

    我有一个使用 Drupal 8 和 Bootstrap 3 构建的网站 如何在引导程序 Tour 启动时关闭菜单折叠 https www s1biose com 单击左侧菜单中的 开始参观 即可开始 游览 我希望单击 开始访问 按钮时 左右
  • Windows Xp 上的 Microsoft.Windows.ActCtx

    这些天我非常忙于开发一个 activex com 应用程序 我们的一些客户在严格限制的 Windows 环境下工作 所以我决定让我的应用程序免注册 我发现 genman32 exe 可以轻松创建清单 mt exe 也很有用 一切都很顺利 但
  • 如何在极坐标 matplotlib 图上绘制带有文本(即标签)的水平线? (Python)

    我正在尝试在极坐标图中标记节点 有 3 个被分割的 轴 我已经弄清楚如何使用象限来选择要标记的节点 但是 我不知道如何在图的边缘对齐这些 即axis maximum 我花了几个小时试图弄清楚这一点 我最好的选择是用 在左边或右边 但这是一个
  • HTML 加载动画

    我的网站在页面未加载时丢失了布局方案 我想做的是将动画链接到加载进度 就像进度条但没有进度条 例如 一个简单的动画 将进度与徽标的不透明度联系起来 因此 当页面加载 50 时 徽标的不透明度为 50 当徽标为 100 时 页面已加载 加载进
  • Silverlight FTP 上传

    我正在尝试通过 silverlight 应用程序将文件 ftp 到服务器 服务器文件系统上上传文件的位置位于 Web 服务器的沙箱区域之外 在这种情况下 Web 服务器根目录位于 C test www 上传文件的位置将位于 C User U
  • AWS cli 列出未使用的 elb

    我对 AWS 还很陌生 我试图列出未附加到任何实例的负载平衡 我尝试使用 aws cli 描述负载均衡器 但无法获得过滤 elb 的选项 请提供一些关于如何实现这一目标的建议 假设您已使用合适的密钥设置了 aws cli 这一长行 shel
  • Azure ML 免费试用:如何提​​交管道?

    我正在 MS Azure 上使用免费试用帐户 并且正在遵循本教程 https learn microsoft com en us azure machine learning tutorial designer automobile pri
  • 当我使用远程调用或 jQuery 远程加载部分/内容时,jquery ujs 不起作用

    我有一段 jQuery 代码 它用一些内容填充页面上的元素 var content note note id html another div html content 这很好地替换了另一个 div 的 html 但问题是任何数据远程属性都
  • 使用 Flexbox 出现意外的空白空间

    在问题仍然存在的情况下 我已将问题减少到最低限度 我不明白橙色空间是从哪里来的 A clue 删除一张图像 橙色空间就会消失 OutterContainer display flex flex wrap wrap flex directio
  • word vba 循环执行 if find.found

    我正在尝试使用 Word VBA 循环浏览文档 我想做的是 如果我发现 Text A vbTab 然后我想将其替换为 A 然后转到该行末尾 按一次 DEL 键并键入 br 但我无法管理它 当我运行这段代码时 不知何故 word 不断崩溃 S
  • Java EE 6 应用程序客户端登录

    我对 Java EE 很陌生 在开始创建我想要创建的应用程序时遇到了很多麻烦 我想要的是一个连接到 EJB 项目的 Swing 应用程序客户端 我正在使用 Glassfish v3 1 1 到目前为止 我拥有的是两个无状态 bean 其中一
  • 如何修复 XSLT 中的“样式表编译期间报告错误”?

    当我运行 XSLT 代码时出现此 SaxonApiExceptionhttps xslttest appspot com 它返回此错误 net sf saxon s9api SaxonApiException 样式表编译期间报告错误 我尝试
  • 使用 Netcat 将二进制文件(逐行)发送到套接字服务器

    作为分拆这个堆栈溢出问题除了一些调整之外 我想实现相同的目标 我想连接到主机 逐行发送二进制文件 并在每行之间有几秒钟的延迟 并且它必须位于同一连接中 我想要发送的字符串主要是基于文本的 但该行中有一些不可打印的字符 这是我要发送的字符串
  • 在 Delphi 中实施变更日志

    我正在寻求使用改变日记代替ReadDirectoryChangesW跟踪我的delphi XE2应用程序中的更改 至于为什么 ReadDirectoryChangesW 不太可靠 我在delphi pascal中能找到的最接近的是一个叫做D
  • 反应式表单 - 禁用属性

    我正在尝试使用disabled属性来自于formControl 当我将其放入模板中时 它会起作用
  • perl 文件大小计算不起作用

    我正在尝试编写一个简单的 perl 脚本 它将迭代目录中的常规文件并计算所有文件放在一起的总大小 但是 我无法获取文件的实际大小 而且我不明白为什么 这是代码的相关部分 我放入打印语句进行调试 totalsize 0 while readd
  • CSS 2 div大小自动相同高度

    我有一个 CSS 问题 我怎样才能做到这一点 当绿色 div 的内容高度 自动 为 500px 时 红色 div 的高度相同 当红色的内容高度 自动 为 700px 时 绿色的高度也相同 两者都有任何内容 然后我使用自动高度 那么我怎样才能
  • Java 异常作为已检查异常但不需要在 trycatch 中抛出

    我有这个片段 public final class StackOverflow class MyException extends Throwable private void a try catch MyException Excepti