/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Problem med sockets og Microsofts JVM
Fra : Jesper Matthiesen


Dato : 06-02-04 13:58

Er der nogen der kender til et problem med sockets i Microsofts JVM. Jeg
compiler med:
javac -target 1.1 foo.java
I koden prøver jeg at forbinde til localhost:

socket = new Socket("127.0.0.1", port);

Der sker imidlertid intet for kodeneksekveringen stopper ved instantieringen
herover. Ingen exception kastes!?!
Kører jeg det med Suns JVM v. 1.4.xx så fungerer det fint.

Hilsen - Jesper



 
 
Jesper Matthiesen (06-02-2004)
Kommentar
Fra : Jesper Matthiesen


Dato : 06-02-04 15:29


"Jesper Matthiesen" <jmatthiesen[_fjen_]@tiscali.dk> wrote in message
news:77MUb.85705$jf4.5445086@news000.worldonline.dk...
> Er der nogen der kender til et problem med sockets i Microsofts JVM. Jeg
> compiler med:
> javac -target 1.1 foo.java
> I koden prøver jeg at forbinde til localhost:
>
> socket = new Socket("127.0.0.1", port);
>
> Der sker imidlertid intet for kodeneksekveringen stopper ved
instantieringen
> herover. Ingen exception kastes!?!
> Kører jeg det med Suns JVM v. 1.4.xx så fungerer det fint.
>
> Hilsen - Jesper
>


OK - jeg fandt så i mellemtiden selv svaret. Jeg prøvede efter kaldet til at
fange en instans af Exception med

catch(Exception e)
{
txt.append("Error: " + e + "\n");
}

men kun
catch(SecurityException e)
{
txt.append("Error: " + e + "\n");
}

fanger den (med Microsofts JVM). Burde den ikke fanges af den øverste??
-Jesper




Lars Kiilerich (06-02-2004)
Kommentar
Fra : Lars Kiilerich


Dato : 06-02-04 19:12


> catch(Exception e)
> {
> txt.append("Error: " + e + "\n");
> }
>
> men kun
> catch(SecurityException e)
> {
> txt.append("Error: " + e + "\n");
> }
>
> fanger den (med Microsofts JVM). Burde den ikke fanges af den øverste??
> -Jesper
>

Hej Jesper,

SecurityException er ikke en checked exception, da den arver fra
RuntimeException. Hvis man vil fange en nonchecked exception skal man catche
den explicit.

/Lars



Jonas Kongslund (06-02-2004)
Kommentar
Fra : Jonas Kongslund


Dato : 06-02-04 20:30

Lars Kiilerich wrote:
> SecurityException er ikke en checked exception, da den arver fra
> RuntimeException. Hvis man vil fange en nonchecked exception skal man
> catche den explicit.

Udsagnet i sidste sætning er forkert.

--
Jonas Kongslund

Ulrik Magnusson (06-02-2004)
Kommentar
Fra : Ulrik Magnusson


Dato : 06-02-04 20:40



Lars Kiilerich wrote:

> SecurityException er ikke en checked exception, da den arver fra
> RuntimeException. Hvis man vil fange en nonchecked exception skal man catche
> den explicit.

Det passer vist ikke:
//file: Ex.java
class Ex
{
public static void main( String[] args )
{
try
{
throw new RuntimeException("Goddaw");
}
catch( Exception e )
{
System.out.println( "CAUGHT:" + e );
}
}
}

- man er dog ikke tvunget til at 'fange' den.

Ulrik Magnusson


Jesper Matthiesen (07-02-2004)
Kommentar
Fra : Jesper Matthiesen


Dato : 07-02-04 13:04


> Det passer vist ikke:
> //file: Ex.java
> class Ex
> {
> public static void main( String[] args )
> {
> try
> {
> throw new RuntimeException("Goddaw");
> }
> catch( Exception e )
> {
> System.out.println( "CAUGHT:" + e );
> }
> }
> }
>
> - man er dog ikke tvunget til at 'fange' den.

Sådan ville jeg også mene det (burde) forholde sig. Og så er det tid til
lidt Microsoft-bashing: Hvis de ikke absolut skulle lave deres egen JVM så
havde jeg været lykkeligt uvidende om de her ting :)
Hilsen Jesper



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408192
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste