में वैश्विक अपवाद हैंडलिंग मैं अपने RCP
ऐप में वैश्विक अपवाद हैंडलिंग को ओवरराइड करना चाहता हूं। जब भी एक बेजोड़ अपवाद होता है तो मैं इसे लॉग करना चाहता हूं (java
लॉगिंग का उपयोग करके) और फिर ऐप से बाहर निकलें। मैंने पहले ही कक्षा में eventLoopException(Throwable exception)
विधि को अधिलेखित कर दिया है। लेकिन यह केवल घटना लूप अपवादों को पकड़ता है। अब तक मैं भी इस तरह postStartup()
विधि ओवरराइट हैएक ग्रहण आरसीपी ऐप
public void postStartup()
{
Policy.setStatusHandler(new StatusHandler()
{
@Override
public void show(IStatus status, String title)
{
LOGGER.log(Level.SEVERE, "Uncaught Exception", status.getException());
UnexpectedErrorDialog();
PlatformUI.getWorkbench().close();
}
});
}
यह मेरा लॉग फ़ाइल में अपवाद लॉग करता है और एप्लिकेशन बाहर निकालता है। लेकिन यह स्पष्ट रूप से सही नहीं है और अपवाद को कंसोल में दो बार दिखाया गया है, क्योंकि मैं उपयोगकर्ता को gui dialog
में अपवाद के प्रदर्शन को रोक रहा हूं। तो मैं वैश्विक अपवाद हैंडलिंग को सही तरीके से ओवरराइट/बदल सकता हूं, ताकि डिफ़ॉल्ट कोड के बजाय मेरा कोड (लॉग) उपयोग किया जा सके?