Java 当您传递android systemclock.sleep(long)一个负参数时会发生什么

Java 当您传递android systemclock.sleep(long)一个负参数时会发生什么,java,android,multithreading,Java,Android,Multithreading,可以预料的是,如果相关的话,这个SystemClock.sleep(paramaybenegative)正在多线程上下文中使用。在某些尚未见过的情况下,负数将来自未初始化的对象属性 以下是关于我所问问题的文档: . 它没有提到一个例外,也没有提到永远,也没有提到其他可以预料到的事情 把这个问题放在这里是为了记住以后再回答它,并在我正在编写的一些代码中处理结果,就像希望有人已经知道应该期待什么,并希望在我开始之前键入它一样(关于SystemClocks的信息量大且非常有趣的factoId也很受欢

可以预料的是,如果相关的话,这个
SystemClock.sleep(paramaybenegative)
正在多线程上下文中使用。在某些尚未见过的情况下,负数将来自未初始化的对象属性

以下是关于我所问问题的文档: . 它没有提到一个例外,也没有提到永远,也没有提到其他可以预料到的事情


把这个问题放在这里是为了记住以后再回答它,并在我正在编写的一些代码中处理结果,就像希望有人已经知道应该期待什么,并希望在我开始之前键入它一样(关于SystemClocks的信息量大且非常有趣的factoId也很受欢迎:)。

它调用
Thread.sleep(毫秒)
引发一个
非法argumentException


您可以通过阅读src代码或进行尝试来找到答案。

通过阅读和猜测emulator中运行的源代码,我希望它不会抛出错误,表现得像一个
SystemClock.sleep(0)
;它将引发logcat并使应用程序崩溃:

java.lang.IllegalArgumentException: timeout arguments out of range
    at java.lang.VMThread.sleep(Native Method)
    ...
    ...
    ...

我很可能没有看到错误的源文件。

我认为否决投票是因为我在尝试之前需要反馈。我可能因为在代码编写中涉及stackoverflow而否决投票。不幸的是,由于互联网的不普及,特别是在没有理由支持dvI的情况下,我相信你得到了否决票,因为你本可以很容易地回答你的问题,然后你可能会问为什么会出现这种行为。是的,我想输入并运行测试比输入问题更容易。遗憾的是,我将尝试标记删除我的emulator抛出类似错误,错误堆栈跟踪信息“googlesource.com:android VMThread IllegalArgumentException”搜索显示sleep方法是一个“本机”方法,没有提及任何ArgumentException。除非我看到的是一个错误的源文件,否则它超出了正常的dvelepor开源。愚蠢的超临界stackoverflow,u sukYes我的意思是IllegalArgumentException,是一个输入错误。修复了它。其他搜索确实找到了platform/libcore/+/a7752f4d22097346dd7849b92b9f36d0a0a7a8f3/libdvm/src/main/java/java/lang/VMThread.java,其中参数条件引发了类似的异常。如此多的外部/向下构建过程;时间太少了