是否有可能用Java构造一段代码,从而生成一个假设的Java。lang.chucknorriseException
不可修补?
想到的想法是使用例如拦截器或面向方面的编程。
除此之外,显然必须使用系统。退出(整数最小值)
在考虑了这一点之后,我成功地创建了一个不可跟踪的异常。然而,我选择给它取名为朱尔斯·温菲尔德,而不是查克,因为它是一个例外。此外,这可能不是你想要的,但肯定不会被发现。注意:
public static class JulesWinnfield extends Exception
{
JulesWinnfield()
{
System.err.println("Say 'What' again! I dare you! I double dare you!");
System.exit(25-17); // And you shall know I am the LORD
}
}
public static void main(String[] args)
{
try
{
throw new JulesWinnfield();
}
catch(JulesWinnfield jw)
{
System.out.println("There's a word for that Jules - a bum");
}
}
瞧!未捕获的例外。
输出:
运行:
再说一遍什么!你敢不敢!我敢加倍!
Java结果:8
生成成功(总时间:0秒)
当我有更多的时间,我会看看我是否能想出其他的东西,以及。
还有,看看这个:
public static class JulesWinnfield extends Exception
{
JulesWinnfield() throws JulesWinnfield, VincentVega
{
throw new VincentVega();
}
}
public static class VincentVega extends Exception
{
VincentVega() throws JulesWinnfield, VincentVega
{
throw new JulesWinnfield();
}
}
public static void main(String[] args) throws VincentVega
{
try
{
throw new JulesWinnfield();
}
catch(JulesWinnfield jw)
{
}
catch(VincentVega vv)
{
}
}
导致堆栈溢出——同样,异常保持未捕获状态。
我还没有尝试过这个,所以我不知道JVM是否会限制这样的东西,但也许你可以编译抛出ChuckNorriseException
的代码,但在运行时提供ChuckNorriseException
的类定义,它不扩展Throwable。
更新:
这不管用。它会生成一个验证器错误:
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:
实际上,如果你禁用字节码验证器,你就可以让它工作!(-X验证:无
)
更新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
运行:
java -cp . TestVillain
Gotcha!
The end.
注释出扩展RuntimeExctive并重新编译ChuckNorrisException.java
:
javac -cp . ChuckNorrisException.java
运行:
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"
主要内容:可追溯性矩阵的目标可追踪性矩阵是一种表格类型的文档,用于开发软件应用程序以跟踪需求。它可用于向前(从需求到设计或编码)和向后(从编码到需求)跟踪。它也称为需求可追踪性矩阵(RTM)。 通常,这就像一个包含表格的工作表文档,但是还有许多用户定义的可追溯性矩阵模板。可追溯性矩阵中的每个要求都与其各自的测试用例相关联,以便可以根据具体要求顺序执行测试。 下面给出一个表作为示例,以便可以理解可追溯性矩阵的格式: 业务需求
问题内容: 我想在我的应用程序中为客户打印发票。每个发票都有一个 发票ID 。我希望ID为: 顺序的(最近输入的ID迟到) 32位整数 *像1 2 3这样 *不易 追踪,以至于人们无法分辨我们卖出了多少商品。 我自己的一个想法: 自特定日期和时间以来 的 秒数 (例如1/1/2010 00 AM)。 还有其他想法如何生成这些数字? 问题答案: 我不喜欢浪费时间。您可能会遇到各种各样的问题-时差,在
页面追踪分为两部分: 时间筛选 和 页面追踪列表详情 1.时间筛选 便捷按钮有今日、昨日、前日、上周 X、近七天,并且能自定义选择时间段 2.页面追踪列表 1)通过页面本身的热区来监测页面内容的热度,点击越多的内容越亮,反之则越暗 2)可以非常快速地观察到网页中的点击分布情况 注意:该功能正在优化中,暂时不对外开放。
Akka使用 GitHub Issues作为其问题跟踪系统。 浏览 Tickets 在提交一张ticket之前,请检查现有的Akka tickets是否在早些时候报告了同样的问题。非常欢迎你在现有的ticket中发表评论,尤其是当你有可以分享的重复性测试用例的时候。 路线图 请参看Akka路线图,以找出即将发行的Akka版本中的总体主题。 创建ticket 请包括 Scala 和Akka的版本及相
在Git中‘追踪分支’是用与联系本地分支和远程分支的. 如果你在’追踪分支'(Tracking Branches)上执行推送(push)或拉取(pull)时, 它会自动推送(push)或拉取(pull)到关联的远程分支上. 如果你经常要从远程仓库里拉取(pull)分支到本地,并且不想很麻烦的使用"git pull "这种格式; 那么就应当使用‘追踪分支'(Tracking Branches). ‘
关键字 defer 允许我们推迟到函数返回之前(或任意位置执行 return 语句之后)一刻才执行某个语句或函数(为什么要在返回之后才执行这些语句?因为 return 语句同样可以包含一些操作,而不是单纯地返回某个值)。 关键字 defer 的用法类似于面向对象编程语言 Java 和 C# 的 finally 语句块,它一般用于释放某些已分配的资源。 示例 6.8 defer.go: packag