मेरे पास जावा मुख्य वर्ग है, कक्षा में, मैं एक नया धागा शुरू करता हूं, मुख्य में, यह तब तक इंतजार करता है जब तक धागा मर नहीं जाता। किसी क्षण, मैं थ्रेड से रनटाइम अपवाद को फेंक देता हूं, लेकिन मैं मुख्य वर्ग में थ्रेड से फेंके गए अपवाद को नहीं पकड़ सकता।
यहाँ कोड है:
public class Test extends Thread
{
public static void main(String[] args) throws InterruptedException
{
Test t = new Test();
try
{
t.start();
t.join();
}
catch(RuntimeException e)
{
System.out.println("** RuntimeException from main");
}
System.out.println("Main stoped");
}
@Override
public void run()
{
try
{
while(true)
{
System.out.println("** Started");
sleep(2000);
throw new RuntimeException("exception from thread");
}
}
catch (RuntimeException e)
{
System.out.println("** RuntimeException from thread");
throw e;
}
catch (InterruptedException e)
{
}
}
}
किसी को पता है क्यों?