Bildiğiniz gibi, standart SWT ana döngü şöyle görünür:Java SWT: Ana döngüyü özel durum işleyicisine sarın mı?
Display display = new Display();
Shell shell = new Shell(display);
...
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
Son zamanlarda, gibi, bir try-catch ana döngüyü sarmak için mantıklı olup olmayacağı hakkında bir meslektaşı ile bir tartışma vardı böylece:
Display display = new Display();
Shell shell = new Shell(display);
...
shell.open();
while (!shell.isDisposed()) {
try {
if (!display.readAndDispatch()) {
display.sleep();
}
} catch (RuntimeException e) {
// TODO Implement exception handler
}
}
display.dispose();
meslektaşım dolayısıyla kullanıcı kapatmadan önce onun verileri kaydetmek için bir şans olabilir, bunu GUI dizisindeki bir kilitlenme olursa hemen uygulamayı kapatmaya gerek kalmayacak bu şekilde yapıyor diyor programı.
Peki, sizce ne düşünüyorsunuz? Böyle bir şey yapmak mantıklı mı?
Evet, kesinlikle çok iyi bir stil, ama boş istisna yakalar dikkat edin çok çok kötü bir şey olduğunu lütfen. Çünkü o zaman istisna kaybolur ve hata ayıklama bir kabusa dönüşür. Uygulamayı gerçekten nereye götürdüğünüzü kabul ediyorum. Bu tür bir kodda hata ayıklamak zorunda kalırsanız, Eclipse, hata ayıklayıcının belirli bir özel durumun söz konusu olduğu yerde çok iyi bir istisna kesme noktası işlemeye sahiptir. –
Söylediğim gibi ... Özel Durum ile başa çıkıyorum ve bir yarı otomatik gönderme (kullanıcı "tamam" tıklatmak zorundadır) hata bildirimi, yayıncıya özel durum için. – Daniel