11. februar 2004 - 16:43Der er
13 kommentarer og 1 løsning
Exceptions i java
Hey ! Jeg har lige et par spørgsmål om exceptions:
1. Hvornår skal man skrive "....throwable Exception......" ved definitionen af en metode ? er det når der ikke bruges try-catch ?
2. Hvad bruges "throw e;" til i slutningen af en catch block ? ____________________________________________________ 3. Se kode nedenunder....Hvorfor kommer System.err.println op på skærmen først ? De bliver jo kaldt til sidst
public class PlusInteger {
public void Kald(){ try{
System.out.println("Metode 1 - Uden fejl, men med catch block"); Fejl();
Man skal skrive "throws XyzException" i metode erklæringen, hvis: - den kan smide den exception - den ikke catcher den - XyzException ikke extender RuntimeException
Metode 1 - Uden fejl, men med catch block Metode 2 Fail detected
Hvilker set meget logisk ud.
Men den første skrive til System.out mens de andre skrives til System.err - jeg har før oplevet at System.out bufferes mens System.err ikke gør det. D.v.s. at de 2 sidste kan godt snige sig op foran den første, hvis den bliver bufferet.
Men det kunne skyldes at jeg bruger Java 1.3.1 og du bruger 1.4.2 eller at du bruger P4 og jeg P III eller at jeg bruger Windows og du Linux eller 717 andre ting.
Man kan ikke regne med at System.out.println og System.err.println er synkroniserede medmindre man kalder System.out.flush().
Ja - det hænder at man laver en Xyz klasse og en XyzException klasse og så lader alle metoder i Xyz catche evt. exceptions og throwe en XyzException i.s.f. for at give et interface der er uafhængigt af implementationen.
Okay....der kommer vist noget mere om rethrow senere i bogen ellers må jeg spørge igen :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.