29. december 2004 - 11:53Der er
15 kommentarer og 2 løsninger
Fejl håndtering
Hej
Jeg sidder og overvejer hvordan jeg laver den bedste logging af eventuelle fejl i et system. De fejl jeg fanger skrives i en log-fil. Der kan dog godt opstå fejl som ikke fanges, dvs hvis koden ikke er omkranset af try...catch.
Er der en mulighed/smart måde at at tilføje en enkelt try...catch f.eks i programmets main som vil fange resterende fejl som ikke kræver try...catch som nullPointerExceptions og parseerrors ?
Du kan godt lave try-catch omkring main, men det er ikke særlig fornemt... Men du bør da omkranse de 'risikofyldte' stedet med try/catch. Iøvrigt bør du sørge for at lave generelle kontroller såsom: if(minVar != null) //udfør opgave else //håndtér fejl så undgår du også for mange try/catch Sørg for at din algoritmer er 100% korrekte - det hjælper dig senere hen :-)
Jeg bruger også de "huske-regler" som du har men for at gøre debugging endnu bedre er jeg jo nødt til at skrive eventuelle fejl i en fil for at jeg skal kunne rette dem senere.
Jeg kan godt se at dit eksempel virker fint. Forskellen er her at det er en bruger-event ved click som udløser fejlen. Jeg paster lige mit lille eksempel så kan evt. se på det.
import java.util.*;
public class Sample {
static public void main(String[] args) { try { new Fail(); } catch (Exception ex) { //ex.printStackTrace(); System.out.println(2); }
} }
import javax.swing.*; import java.awt.event.*;
public class Fail extends JFrame{ public Fail() { java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); this.setSize(new java.awt.Dimension(800,600)); this.setLocation( (screenSize.width-this.getWidth()) / 2, (screenSize.height - this.getHeight()) / 2); this.show();
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.