为什么 Java 中不能抛出和捕获对象? [复制]

2024-04-24

可能的重复:
你可以在 Java 中添加什么? https://stackoverflow.com/questions/5749898/what-can-you-throw-in-java

为什么我不能在 Object 的引用中获取异常。 我的意思是考虑以下代码:

try{.......}
catch(Object ex){.......}

它显示了一个错误,我们知道任何类的所有对象都可能被 Object 引用。


Java 语言规范规定,只有Throwables 可以被抛出。

http://java.sun.com/docs/books/jls/third_edition/html/exceptions.html#44043 http://java.sun.com/docs/books/jls/third_edition/html/exceptions.html#44043

每个异常都由类的一个实例表示Throwable或其子类之一;这样的对象可用于将信息从异常发生点传送到捕获异常的处理程序。

该语言可以有不同的定义,但 Java 倾向于为任何旨在以特定方式使用的事物定义基类型,并在该基类中定义方法以支持常见模式。Throwable特别支持chaining http://download.oracle.com/javase/1,5.0/docs/api/java/lang/Throwable.html#initCause%28java.lang.Throwable%29和堆栈跟踪打印。如果您对异常的唯一了解是它是引用类型,则不可能轻松链接异常。

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

为什么 Java 中不能抛出和捕获对象? [复制] 的相关文章

随机推荐

  • MVC 5 中的存储过程不返回值

    我正在通过数据库方法使用实体框架 MVC5 进行工作 我使用Mysql作为数据库 我创建一个程序 当通话流程在Mysql中它按照我的预期工作 但是当我在 MVC 中使用过程时 它每次都会返回 0 储存程序 CREATE PROCEDURE
  • .playground 是 swift 文件吗?谁能“看到”它?

    我试图弄清楚 playground 文件到底是什么 如果它是源文件 则项目中的其他 swift 文件或其他 playground 文件都无法 据我尝试 看到它 反之亦然 一个项目应该有一个这样的文件吗 它们是一种 swift 文件吗 我知道
  • Boost 库构建 - 运行时链接和链接选项之间的区别

    我正在尝试使用 MSVC VS 2010 在 Windows 7 中构建 boost 库 我遇到过这些选择运行时链接和链接在 bjam 命令行选项中 我想知道它们是如何使用的以及它们之间的确切区别是什么 我已经使用此命令行构建了 Boost
  • 使用 Google Breakpad 的小型转储无法显示应用程序崩溃的行号

    我在崩溃时获得了应用程序的小型转储文件 但它没有给我诸如函数名称和行号之类的详细信息 输出如下 Operating system Linux 0 0 0 Linux 3 3 8 2 2 1 SMP Thu May 12 13 30 26 U
  • 如何实现 hamcrest 匹配器

    我想运行这行代码 assertThat contextPin get equalTo pinPage getPinObjFromUi 但我想打印到日志中以提供信息 这意味着我可以知道哪些字段不相等 所以我想到了实现一个匹配器 我用谷歌搜索过
  • 如何更改默认的 javadoc 样式表?

    是否有命令行选项来更改 javadoc 创建的样式表文件 我想使用我自己的 css 文件 默认的蓝色很无聊 我尝试了 stylesheet 选项 但不支持它 是的 这是可能的 而且实际上非常简单 例如 如果您查看 Mockito 的 jav
  • Markdown 所见即所得编辑器和预览在同一文本区域中[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我寻找一个编辑器来编写 Markdown 语法并在同一文本区域中预览 例如引导所见即所得HTML5 ht
  • Django Crispy-forms - 自定义按钮

    我的 django crispy form 中有两个按钮 self helper add input Submit submit Submit self helper add input Button cancel Cancel 提交按钮工
  • !r 在 str() 和 repr() 中做什么?

    根据Python 2 7 12 文档 https docs python org 2 tutorial inputoutput html fancier output formatting s apply str and r apply r
  • 预加载背景图像

    我正在构建一个循环显示 3 个不同背景的页面 每 750 毫秒更改一次 为此 我在主体中添加了一个带有相关背景图像的类 并使用 JS 进行了更改 对于第一次循环 它们会闪烁 因为图像必须加载 所以它不会立即出现 因此 我可以使用任何方法来预
  • 使用#selector 传递参数

    我是 Swift 的初学者 我正在尝试通过通知中心启动一个功能 ViewController swift 中的观察者调用函数reload override func viewDidLoad super viewDidLoad Notific
  • 使用 Gson 反序列化 JSON 时引用父对象

    给定以下 JSON authors name Stephen King books title Carrie title The Shining title Christine title Pet Sematary 这个对象结构 publi
  • Tymon\JWTAuth::toUser 错误:需要令牌

    我有一个 Larvel API 它使用 Tymon JWTAuth 来验证用户身份 它运行良好 由于某些原因 我还有一条不受保护的路线web php Route get myroute MyController mymethod MyCon
  • 如何在flutter中解析没有key的JSON

    我想解析一个 JSON 但这个 JSON 没有键值 仅仅是价值 我尝试创建课程但不起作用 错误是类型 List 不是类型 Map 的子类型 我尝试解析它们在 json 中占据的位置 例如 json 0 但我对此不确定 提前致谢 Json P
  • 定义具有多种消息类型的消息传递域

    到目前为止 我见过的大多数 F 消息传递示例都使用 2 4 种消息类型 并且能够利用模式匹配将每条消息定向到其正确的处理函数 对于我的应用程序 由于处理和所需参数的不同性质 我需要数百种独特的消息类型 到目前为止 每个消息类型都是其自己的记
  • 单击“保存”按钮后的 WPF 数据绑定

    我有一个应用程序和一个设置窗口 其中 TabControl 包含几个 TabItems 它们每个都有一些字段 文本框 这些字段数据绑定到同一个 Singleton 对象 仅在单击 保存 按钮后 是否有任何优雅且类似 WPF 的数据绑定方式
  • iOS 7 - 呈现模式视图控制器时收到警告消息

    使用 iOS 7 编译和运行 在呈现模式视图控制器时 我收到警告消息 不鼓励在分离视图控制器上呈现视图控制器 我在使用 iOS 6 或更早版本时从未遇到过问题 任何人都可以显示在呈现模式视图控制器时是否有任何更改吗 SearchViewCo
  • 如何向打开 Chrome 控制台的用户显示警告,就像 Facebook 和 Blockchain 那样?

    当我在 Facebook 和 Blockchain 等网站上打开控制台时 我收到如下警告 我想知道如何在我的网站上执行此操作 显示警告 告诉用户这很危险 他不应该在那里粘贴任何内容 您可以设置 console log 消息的样式 conso
  • 当我尝试移动 Pygame 时,玩家回到初始位置

    当我移动玩家时 当我按住右箭头时 他会移动 10 个像素 当我释放按键时 他会返回到初始位置 顺便说一句 你不需要告诉我当我按右时他会向左移动 我知道 这是代码 import pygame pygame init WIDTH 1000 HE
  • 为什么 Java 中不能抛出和捕获对象? [复制]

    这个问题在这里已经有答案了 可能的重复 你可以在 Java 中添加什么 https stackoverflow com questions 5749898 what can you throw in java 为什么我不能在 Object