对于你对根InterruptedException
S的秒的问题,以下类实际上生成一个(即,throw new InterruptedException(...);
)。这是来自我的JDK(OpenJDK 1.8.0.11)。
为了清楚起见,这些都是在某个地方抛出一个新的InterruptedException
的所有外部类(即不是内部类),包括在内部类中。换句话说,如果类X
具有内部类别X.Y
,并且X.Y
具有引发新InterruptedException
的方法,则它将在此列表中显示为X
。它确实不是包括原生生成一个的方法(这就是为什么java.lang.Object
没有出现在这里)。抛出InterruptedException
的原生方法中只有两个类别为java.lang.Object
和java.lang.Thread
。
java.util.concurrent.CyclicBarrier
java.util.concurrent.LinkedTransferQueue
java.util.concurrent.ForkJoinPool
java.util.concurrent.CompletableFuture
java.util.concurrent.locks.AbstractQueuedLongSynchronizer
java.util.concurrent.locks.AbstractQueuedSynchronizer
java.util.concurrent.locks.StampedLock
java.util.concurrent.SynchronousQueue
java.util.concurrent.Phaser
java.util.concurrent.FutureTask
java.util.concurrent.Exchanger
java.util.concurrent.ForkJoinTask
java.lang.InterruptedException
com.sun.corba.se.impl.orbutil.concurrent.DebugMutex
com.sun.corba.se.impl.orbutil.concurrent.Mutex
com.sun.corba.se.impl.orbutil.concurrent.CondVar
com.sun.corba.se.impl.orbutil.concurrent.ReentrantMutex
com.sun.jmx.snmp.daemon.SnmpAdaptorServer
com.sun.jmx.snmp.daemon.CommunicatorServer
下面是从我的JDK类,可以抛出一个,包括人提供在堆栈中的一个较低的水平产生一个完整的清单。
javax.swing.SwingWorker
javax.swing.SwingUtilities
java.nio.file.WatchService
java.nio.channels.AsynchronousChannelGroup
java.awt.MediaTracker
java.awt.image.PixelGrabber
java.awt.EventQueue
java.util.concurrent.Executors
java.util.concurrent.CyclicBarrier
java.util.concurrent.LinkedTransferQueue
java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.DelayQueue
java.util.concurrent.CountDownLatch
java.util.concurrent.AbstractExecutorService
java.util.concurrent.TimeUnit
java.util.concurrent.ForkJoinPool
java.util.concurrent.LinkedBlockingDeque
java.util.concurrent.ScheduledThreadPoolExecutor
java.util.concurrent.CompletableFuture
java.util.concurrent.ExecutorService
java.util.concurrent.ExecutorCompletionService
java.util.concurrent.CompletionService
java.util.concurrent.locks.ReentrantReadWriteLock
java.util.concurrent.locks.AbstractQueuedLongSynchronizer
java.util.concurrent.locks.Lock
java.util.concurrent.locks.AbstractQueuedSynchronizer
java.util.concurrent.locks.Condition
java.util.concurrent.locks.StampedLock
java.util.concurrent.locks.ReentrantLock
java.util.concurrent.SynchronousQueue
java.util.concurrent.ArrayBlockingQueue
java.util.concurrent.LinkedBlockingQueue
java.util.concurrent.TransferQueue
java.util.concurrent.Semaphore
java.util.concurrent.BlockingQueue
java.util.concurrent.Phaser
java.util.concurrent.PriorityBlockingQueue
java.util.concurrent.FutureTask
java.util.concurrent.BlockingDeque
java.util.concurrent.Future
java.util.concurrent.Exchanger
java.util.concurrent.ForkJoinTask
java.lang.UNIXProcess
java.lang.ref.ReferenceQueue
java.lang.Process
java.lang.Object
java.lang.Thread
sun.font.CreatedFontTracker
sun.nio.fs.AbstractWatchService
sun.nio.ch.AsynchronousChannelGroupImpl
sun.nio.ch.PendingFuture
sun.misc.Lock
sun.misc.ConditionLock
sun.misc.Queue
sun.misc.VM
sun.toolsc.SourceClass
sun.awt.X11.XBaseWindow
sun.awt.X11.XSelection
sun.awt.EventQueueDelegate
sun.awt.SunToolkit
sun.awt.im.ExecutableInputMethodManager
sun.awt.shell.ShellFolder
sun.awt.AWTAccessor
sun.applet.AppletPanel
com.sun.xml.internal.ws.encoding.ImageDataContentHandler
com.sun.xml.internal.messaging.saaj.soap.ImageDataContentHandler
com.sun.corba.se.impl.orbutil.concurrent.DebugMutex
com.sun.corba.se.impl.orbutil.concurrent.Sync
com.sun.corba.se.impl.orbutil.concurrent.Mutex
com.sun.corba.se.impl.orbutil.concurrent.CondVar
com.sun.corba.se.impl.orbutil.concurrent.ReentrantMutex
com.sun.corba.se.impl.orbutil.threadpool.WorkQueueImpl
com.sun.org.apache.xml.internal.utils.ThreadControllerWrapper
com.sun.tools.sjavac.server.CompilerPool
com.sun.tools.example.debug.bdi.JDIEventSource
com.sun.tools.example.debug.bdi.ExecutionManager
com.sun.tools.example.debug.bdi.ThreadInfo
com.sun.tools.example.debug.gui.ContextManager
com.sun.tools.jdi.EventQueueImpl
com.sun.jmx.remote.internal.ArrayNotificationBuffer
com.sun.jmx.remote.internal.NotificationBuffer
com.sun.jmx.snmp.daemon.SnmpAdaptorServer
com.sun.jmx.snmp.daemon.CommunicatorServer
com.sun.jndi.ldap.EventQueue
com.sun.jdi.event.EventQueue
com.sun.swing.SwingUtilities3
http://docs.oracle.com/javase/7/docs/api/java/lang/class-use/InterruptedException.html – 2014-10-04 18:17:57
@OliverCharlesworth:挺有意思的,值得一个合适的回答。请张贴它。 – gd1 2014-10-04 18:18:47
@Roam你还没有接受奥利弗的答案。请接受它。 – UDPLover 2014-10-04 18:33:52