InterruptedException
| 日本語 | 割り込み例外 |
| 英語 | interrupted exception |
| ふりがな | いんたらぷてっどえくせぷしょん |
| フリガナ | インタラプテッドエクセプション |
割り込みが発生した場合に投げられる例外。
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.lang.InterruptedException。
例外の一種。Threadクラスのsleep()メソッド等、一時的にスレッドを停止するメソッドが投げる。停止中に、Threadクラスのinterrupt()メソッド等で割り込みが生じた場合に投げられる。
Exceptionクラスのサブクラスのため、単に一時停止させたい場合にも必ずcatchしなければならないため少し面倒。
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.lang.InterruptedException。
例外の一種。Threadクラスのsleep()メソッド等、一時的にスレッドを停止するメソッドが投げる。停止中に、Threadクラスのinterrupt()メソッド等で割り込みが生じた場合に投げられる。
Exceptionクラスのサブクラスのため、単に一時停止させたい場合にも必ずcatchしなければならないため少し面倒。
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// スレッドを作ります。
OtherThread thread = new OtherThread();
thread.start();
// 眠っているスレッドに割り込みを掛けます。
thread.interrupt();
}
}
/**
* 別スレッドとして実行するためのクラス。
*/
class OtherThread extends Thread
{
/**
* Threadクラスのrun()メソッドを
* オーバーライドしたメソッド。このメソッドが
* 別スレッドとして呼び出されます。
*/
public void run()
{
try
{
// 5秒待ちます。
sleep( 5 * 1000 );
System.out.println( "ここは通らないでしょう。" );
}
catch( InterruptedException e )
{
// Threadクラスのinterrupt()メソッドで
// 割り込みが入るため、InterruptedException例外が
// 投げられます。
e.printStackTrace();
// java.lang.InterruptedException: sleep interrupted
// at java.lang.Thread.sleep(Native Method)
// at OtherThread.run(Sample.java:29)
}
}
}
public class Sample
{
public static void main( String[] args )
{
// スレッドを作ります。
OtherThread thread = new OtherThread();
thread.start();
// 眠っているスレッドに割り込みを掛けます。
thread.interrupt();
}
}
/**
* 別スレッドとして実行するためのクラス。
*/
class OtherThread extends Thread
{
/**
* Threadクラスのrun()メソッドを
* オーバーライドしたメソッド。このメソッドが
* 別スレッドとして呼び出されます。
*/
public void run()
{
try
{
// 5秒待ちます。
sleep( 5 * 1000 );
System.out.println( "ここは通らないでしょう。" );
}
catch( InterruptedException e )
{
// Threadクラスのinterrupt()メソッドで
// 割り込みが入るため、InterruptedException例外が
// 投げられます。
e.printStackTrace();
// java.lang.InterruptedException: sleep interrupted
// at java.lang.Thread.sleep(Native Method)
// at OtherThread.run(Sample.java:29)
}
}
}
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// スレッドを作ります。
OtherThread thread = new OtherThread();
thread.start();
// 眠っているスレッドに割り込みを掛けます。
thread.interrupt();
}
}
/**
* 別スレッドとして実行するためのクラス。
*/
class OtherThread extends Thread
{
/**
* Threadクラスのrun()メソッドを
* オーバーライドしたメソッド。このメソッドが
* 別スレッドとして呼び出されます。
*/
public void run()
{
try
{
// 5秒待ちます。
sleep( 5 * 1000 );
System.out.println( "ここは通らないでしょう。" );
}
catch( InterruptedException e )
{
// Threadクラスのinterrupt()メソッドで
// 割り込みが入るため、InterruptedException例外が
// 投げられます。
e.printStackTrace();
// java.lang.InterruptedException: sleep interrupted
// at java.lang.Thread.sleep(Native Method)
// at OtherThread.run(Sample.java:29)
}
}
}




