Gestione degli errori

SWT dispone di una strategia definita per l'attivazione di errori ed eccezioni. Dove possibile, le eccezioni vengono attivate costantemente su tutte le piattaforme. Tuttavia, alcuni errori sono specifici di un'implementazione di SWT su una particolare piattaforma.

SWT è in grado di attivare tre tipi di eccezioni: IllegalArgumentException, SWTException e SWTError. Le applicazioni non dovrebbero catturare alcun altro tipo di eccezione o errore durante il richiamo di SWT.

Nota:  l'attivazione da parte di SWT di una qualsiasi altra eccezione oltre alle tre descritte, dovrebbe essere considerato come un errore dell'implementazione SWT.

IllegalArgumentException

Lo stato e la gamma degli argomenti trasmessi in metodi di API SWT vengono verificati prima di qualsiasi altra operazione. Quando viene determinato che un argomento non è valido, verrà attivata una IllegalArgumentException.

SWT attiva questa eccezione su tutte le piattaforme costantemente. Il codice che provoca una IllegalArgumentException su una piattaforma provocherà la stessa eccezione su una piattaforma diversa.

SWTException

SWTException viene attivata quando si verifica un errore recuperabile all'interno di SWT. Il codice di errore e il testo del messaggio forniscono un'ulteriore descrizione del problema.

SWT attiva questa eccezione su tutte le piattaforme costantemente. Su tutte le piattaforme, SWT rimane in uno stato stabile dopo l'attivazione dell'eccezione. Ad esempio, questa eccezione viene attivata quando una chiamata SWT viene effettuata da un thread non appartenente ad una interfaccia utente.

SWTError

SWTError viene attivato quando si verifica un errore non recuperabile all'interno di SWT.

SWT attiverà questo errore quando una chiamata di piattaforma sottostante non ha esito positivo, lasciando SWT in uno stato non riconosciuto, oppure quando SWT accerta la presenza di un errore non recuperabile, ad esempio l'esecuzione al di fuori delle risorse di grafica della piattaforma.

Quando si verifica un errore SWT, l'applicazione può fare poco per correggere il problema. Tali errori non dovrebbero verificarsi durante il normale corso delle operazioni in un'applicazione, ma applicazioni ad alta affidabilità potrebbero ancora catturare e riportare gli errori.