无法捕获的 ChuckNorrisException

2024-01-12

是否可以构造一段代码Java http://en.wikipedia.org/wiki/Java_%28programming_language%29这将产生一个假设java.lang.ChuckNorrisException无法捕捉?

想到的想法是使用例如拦截器或面向方面的编程 http://en.wikipedia.org/wiki/Aspect-oriented_programming.


我没有尝试过,所以我不知道是否可以JVM http://en.wikipedia.org/wiki/Java_virtual_machine会限制这样的事情,但也许你可以编译抛出异常的代码ChuckNorrisException,但在运行时提供一个类定义ChuckNorrisException which 不扩展 Throwable.

UPDATE:

这不起作用。它会生成一个验证器错误:

Exception in thread "main" java.lang.VerifyError: (class: TestThrow, method: ma\
in signature: ([Ljava/lang/String;)V) Can only throw Throwable objects
Could not find the main class: TestThrow.  Program will exit.

更新2:

实际上,如果禁用字节码验证器,您就可以让它工作! (-Xverify:none)

更新3:

对于那些在家中关注的人,以下是完整的脚本:

创建以下类:

public class ChuckNorrisException
    extends RuntimeException // <- Comment out this line on second compilation
{
    public ChuckNorrisException() { }
}

public class TestVillain {
    public static void main(String[] args) {
        try {
            throw new ChuckNorrisException();
        }
        catch(Throwable t) {
            System.out.println("Gotcha!");
        }
        finally {
            System.out.println("The end.");
        }
    }
}

编译类:

javac -cp . TestVillain.java ChuckNorrisException.java

Run:

java -cp . TestVillain
Gotcha!
The end.

注释掉“extends RuntimeException”并重新编译ChuckNorrisException.java only :

javac -cp . ChuckNorrisException.java

Run:

java -cp . TestVillain
Exception in thread "main" java.lang.VerifyError: (class: TestVillain, method: main signature: ([Ljava/lang/String;)V) Can only throw Throwable objects
Could not find the main class: TestVillain.  Program will exit.

不验证运行:

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

无法捕获的 ChuckNorrisException 的相关文章

  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有
  • 如何使用 Java 中的 Web 服务(例如 Axis2)发送复杂对象的数组或集合?

    我对 SOAP Web 服务还比较陌生 虽然我完成了一些较小的 Web 服务项目 但我偶然从来不需要返回 或用作参数 复杂 对象的数组或集合 当我尝试这样做时 根据我的 SOAP 绑定风格 我会得到不同的奇怪行为 当我使用RPC 文字 我可
  • 插入最大日期(独立于数据库)

    在我的本地设置中 我使用一个简单的 H2 数据库 托管 解决方案将有另一个 类似但不相同 数据库 我需要将最大可能日期插入到日期时间列中 我尝试使用 Instant MAX 但是 这会导致列中出现 169104626 12 11 20 08
  • SAML 服务提供商 Spring Security

    当使用预先配置的服务提供者元数据时 在 Spring Security 中 是否应该有 2 个用于扩展元数据委托的 bean 定义 一份用于 IDP 元数据 一份用于 SP 元数据
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • 比较两个文本文件的最快方法是什么,不将移动的行视为不同

    我有两个文件非常大 每个文件有 50000 行 我需要比较这两个文件并识别更改 然而 问题是如果一条线出现在不同的位置 它不应该显示为不同的 例如 考虑这个文件A txt xxxxx yyyyy zzzzz 文件B txt zzzzz xx
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • 匿名类上的 NotSerializedException

    我有一个用于过滤项目的界面 public interface KeyValFilter extends Serializable public static final long serialVersionUID 7069537470113
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • Java 中的“Lambdifying”scala 函数

    使用Java和Apache Spark 已用Scala重写 面对旧的API方法 org apache spark rdd JdbcRDD构造函数 其参数为 AbstractFunction1 abstract class AbstractF
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • Jersey 客户端请求中未设置 Content-Length-Header

    我正在使用 Jersey Client 访问网络服务 如下所示 response r accept MediaType TEXT PLAIN TYPE header content length 0 post String class 其中
  • Struts 2 + Sitemesh 3 集成 - FreemarkerDecoratorServlet 中的 NPE

    我将 Struts 2 版本 2 3 14 3 与 Sitemesh 3 版本 3 0 alpha 2 一起使用 并且在某些情况下遇到 NullPointerException 首先 这是我的 web xml 中的 struts2 site
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 具有特定参数的 Spring AOP 切入点

    我需要创建一个我觉得很难描述的方面 所以让我指出一下想法 com x y 包 或任何子包 中的任何方法 一个方法参数是接口 javax portlet PortletRequest 的实现 该方法中可能有更多参数 它们可以是任何顺序 我需要
  • 带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项“MaxPermSize=512m”

    I use OpenJDK 17 https jdk java net 17 使用 Maven Wrapper 3 8 2 从春季初始化 https start spring io Maven项目 JAR打包 Java 17 Spring

随机推荐

  • 使用字符串输入和输出运行进程

    这里有很多与 fork 和 exec 相关的问题 不过 我还没有找到真正使使用它们的过程变得简单的方法 而让程序员的生活变得简单就是目标 我需要一个 C Linux 友好的函数来执行以下操作 string RunCommand string
  • 如何给函数起别名?

    我正在尝试为 R 中的函数创建别名 例如 要获取 R 中向量的长度 length the vector returns the length of the vector 我想创建一个名为 len 的函数的别名 len the vector
  • 使用 Serde 反序列化具有多种类型字段的 JSON

    我有一些 JSON 文本数据 其字段可以是字符串或字符串数 组 以下是四个可能的示例 keya some string keyb some string keya some string keyb some string some stri
  • 比较 SPARQL 图

    如何使用 SPARQL 比较两个 RDF 图 如果我有图表 a 和 b 我想找到 a 出现在 b 中的所有时间 我可以查询 a 的所有主语 谓词和宾语 然后以编程方式构建一个与 b 中的 a 模式匹配的模式查询 有没有一种方法可以在 SPA
  • xcode 命令行测试,参数在启动时传递

    我在 CI 上实施 xcodebuild 命令测试时遇到了小问题 我有与特定设备语言相关的测试 在 xcode 中我可以将 启动时传递的参数 设置为 AppleLanguages 语言 我可以使用 xcodebuild 传递该参数吗 我的脚
  • 如何用C++封装视频文件的H.264码流

    我正在尝试转换视频文件 mp4 到 Dicom 文件 我通过在 Dicom 中存储单个图像 视频的每帧一个图像 成功地做到了这一点 但结果是文件太大 这对我来说不好 相反 我想将存储在视频文件中的 H 264 比特流封装到 Dicom 文件
  • 将方法的名称作为参数传递

    private void Method1 Do something Log Something Method1 private void Method2 Do something Log Something Method2 private
  • 我什么时候应该使用 ConcurrentDictionary 和 Dictionary?

    我总是很困惑该选择哪一个 据我所知 我使用Dictionary over List如果我想要两种数据类型Key and Value所以我可以很容易地找到一个值key但我总是很困惑是否应该使用ConcurrentDictionary or D
  • 如何在 php curl 中设置 PHP_AUTH_PW

    如何在phpcurl中设置PHP AUTH PW和PHP AUTH USER参数 在服务器端检查 if isset SERVER PHP AUTH PW 打印 授权错误 任何帮助 将不胜感激 Thanks 它称为 basic auth 适用
  • 命令链的别名

    我有一个tool使用命令 step1 step2 and step3 我可以通过调用以下方式链接它们 tool step1 step2 step3 我想要一个名为all通过调用以下命令来运行所有步骤 tool all 我找到了一个可行的解决
  • 您正在导入需要 useState 的组件。它仅适用于客户端组件,但其父组件均未标记为“使用客户端”

    下面的简单组件在 Next js 中抛出以下错误app我使用时的目录useState 您正在导入需要 useState 的组件 它仅在客户端组件中工作 但其父组件都没有标记为 使用客户端 因此默认情况下它们是服务器组件 import use
  • 步骤内的 Specflow 调用步骤会导致“无匹配的步骤定义”错误

    我正在遵循概述的技术here https stackoverflow com questions 24928270 is it valid to have specflow features depending on other featu
  • WELD-001303 范围类型 javax.enterprise.context.SessionScoped 没有活动上下文

    我已经搜索了所有地方 但似乎我找不到解决此错误的最佳答案 有我的堆栈跟踪 有人可以告诉我发生了什么事吗 我花了两个日期才找到此错误 16 55 02 405 SEVERE org activiti engine impl jobexecut
  • HTML 在多个无序列表之间拖放

    我有一个相对简单的网络应用程序 我将其创建为书架 我希望用户能够在书架之间拖放书籍 当我将一本书放到一个书架中现有书籍的 右侧 时 它的工作方式完全符合我的要求 已拖放的书将添加到书架中 当我将一本书放在现有的书上时 它不起作用 当我这样做
  • Ktor 中的 URL 生成器示例

    我正在使用 Ktor 客户端调用 API 但没有找到任何有关如何使用查询参数构造 URL 的示例 我想要这样的东西 protocol HTTPS host api server com path get items queryParams
  • AngularJS 访问指令模板内的 DOM 元素

    是否有一种更 有角度 的方式在指令模板中选择 DOM 元素 例如 假设您有以下指令 app directive myDirective function return template div ul li li ul div link fu
  • C# 将字符串解析为 int32 - 值太大

    我从外部接口收到一个字符串 其中包含INT32价值 该值表示 100 一个有符号整数 因此看起来像这个字符串 4294967196 如果它看起来像 100 我可以使用Int32 TryParse 将其转换为有符号值 但就我而言 它按原样解释
  • Android 联系人提供程序:如何设置主要电话号码

    添加或更新联系人以构建自定义联系人提供程序时 如何将联系人的电话号码设置为主要号码 添加和更新联系人工作正常 但我不知道如何将联系人的一个号码设置为主要号码或默认号码 mValues put Phone IS PRIMARY 1 mValu
  • gvim 中的错误 - 到哪里报告? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我最近在 LaTeX 的 gvim 即 vim 的 gui 语法突出显示中遇到了一个错误 它可以在多个平台上重现 debian ubuntu 中的 v
  • 无法捕获的 ChuckNorrisException

    是否可以构造一段代码Java http en wikipedia org wiki Java 28programming language 29这将产生一个假设java lang ChuckNorrisException无法捕捉 想到的想法