/ 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
Totalt newbie spørgsmål - vedr. getParamet~
Fra : Ryan Dahl


Dato : 18-07-03 12:32

Hej,

jeg er så småt kommet i gang med min første applet, men det driller
lidt.

Min applet består foreløbigt af to filer.

1. TegnGraf.java, den primære class, som tegner nogle streger.
2. HentParam.java, som benyttes til at hente nogle parametre bl.a. med
getParameter().

Appletten fungerer kun hvis jeg fjerner linien 'tempStreng =
getParameter("Titel");' i HentParam.java, som vises her:

---- kode start --- HentParam.java ---

import java.applet.Applet;
import java.awt.*;
import java.lang.*;

public class HentParam extends Applet
{
   // Definitioner
   String Titel;
   
   // Find værdier fra tilførte parametre
   public void HentGrafParam()
   {
      String tempStreng;
      tempStreng = "tester";
      tempStreng = getParameter("Titel");
      if(tempStreng == null) { tempStreng = "Ukendt titel";
}
      this.Titel = tempStreng;
   }   
}

--- kode slut ---

Hvis jeg bruger getParameter() så hænger appletten ved "Loading Java
applet..." i Internet Explorer.

Er der restriktioner for hvor man må anvende getParameter() eller hvad
gør jeg forkert?

Til info bruger jeg Java 2, Version 1.4.1

På forhånd tak
Ryan

 
 
Robert Larsen (18-07-2003)
Kommentar
Fra : Robert Larsen


Dato : 18-07-03 14:34

Ryan Dahl wrote:
> Hvis jeg bruger getParameter() så hænger appletten ved "Loading Java
> applet..." i Internet Explorer.

Får du exceptions ? Det kan du se i java consollen.
Slå java consollen til via "Tools->Internet Options->Advanced->Microsoft
VM->Java console enabled", genstart IE og åben consollen fra "View->Java
Console".

> Er der restriktioner for hvor man må anvende getParameter() eller hvad
> gør jeg forkert?

Nej, det er der ikke, så det lyder lidt underligt, at den bare skulle hænge.


Robert


Ryan Dahl (18-07-2003)
Kommentar
Fra : Ryan Dahl


Dato : 18-07-03 17:50

On Fri, 18 Jul 2003 15:33:38 +0200, Robert Larsen <Xrcl@ttpcom.com>
wrote:

>Ryan Dahl wrote:
>> Hvis jeg bruger getParameter() så hænger appletten ved "Loading Java
>> applet..." i Internet Explorer.
>
>Får du exceptions ? Det kan du se i java consollen.
>Slå java consollen til via "Tools->Internet Options->Advanced->Microsoft
>VM->Java console enabled", genstart IE og åben consollen fra "View->Java
>Console".

Tak for det, det var faktisk lige det nødvendige for at komme videre.
Fejlen var en NullPointerException og med Google var det muligt at
komme videre.

Ellers herlig ting at rende ind i, lige her til at starte med

Hvis I sidder med samme problem, så check:

http://groups.google.dk/groups?hl=da&lr=&ie=UTF-8&oe=UTF-8&threadm=a6bbn9%24clm%241%40slb1.atl.mindspring.net&rnum=2&prev=/groups%3Fhl%3Dda%26ie%3DUTF-8%26oe%3DUTF-8%26q%3DNullPointerException%2BgetParameter%2Bapplet%26sa%3DN%26tab%3Dwg%26meta%3D

mvh
Ryan

Lasse Westh-Nielsen (18-07-2003)
Kommentar
Fra : Lasse Westh-Nielsen


Dato : 18-07-03 18:12

"Ryan Dahl" <junk_this_way@hotmail.com> wrote in message
news:0b7ghv89snbhrejngi7ng7nljg6sm9dcrr@4ax.com...
> On Fri, 18 Jul 2003 15:33:38 +0200, Robert Larsen <Xrcl@ttpcom.com>
> wrote:
>
> Fejlen var en NullPointerException og med Google var det muligt at
> komme videre.

Det er ikke getParameter() der giver problemer (den kaster ikke exceptions),
men din måde at behandle null-værdier på.

Se eventuelt dette eksempel:
http://www.daimi.au.dk/~lasse/javaapplet/MyApplet.html

Mvh Lasse


--
<signature>
Lasse Westh-Nielsen
lasse@daimi.au.dk
</signature>





Ryan Dahl (18-07-2003)
Kommentar
Fra : Ryan Dahl


Dato : 18-07-03 19:38

On Fri, 18 Jul 2003 19:11:33 +0200, "Lasse Westh-Nielsen"
<lasse@daimi.au.dk> wrote:

>"Ryan Dahl" <junk_this_way@hotmail.com> wrote in message
>news:0b7ghv89snbhrejngi7ng7nljg6sm9dcrr@4ax.com...
>> On Fri, 18 Jul 2003 15:33:38 +0200, Robert Larsen <Xrcl@ttpcom.com>
>> wrote:
>>
>> Fejlen var en NullPointerException og med Google var det muligt at
>> komme videre.
>
>Det er ikke getParameter() der giver problemer (den kaster ikke exceptions),
>men din måde at behandle null-værdier på.
>
>Se eventuelt dette eksempel:
>http://www.daimi.au.dk/~lasse/javaapplet/MyApplet.html
>
>Mvh Lasse

Hej Lasse,

tak for input.

Jeg kiggede dog lidt på dit eksempel, og det ser ud til, at du har
misforstået mig. Og jeg synes da, at jeg behandler null-værdierne
korrekt.

Der er ingen problemer med getParameter() når metoden er placeret i
den class, som bliver kaldt direkte fra html-siden. Nøjagtigt lige som
du viser med MyApplet.

Problemet opstår først, når jeg ønsker at lave en class i en seperat
fil. Hvor eneste formål med denne fil, er at hente parametrene fra
html-siden. - Lad os kalde den 'HentParam.class'.

Jeg kalder altså en metode i 'HentParam.class', hvori jeg anvender
getParameter(), og det er her problemet opstår.

Løsningen var, at referere til den class, som blev kaldt fra min
html-side. Denne class er åbenbart den eneste, som har adgang til
parametrene. - Den detaljerede beskrivelse kan findes nederst i det
link jeg tidligere postede.

mvh
Ryan


Lasse Westh-Nielsen (19-07-2003)
Kommentar
Fra : Lasse Westh-Nielsen


Dato : 19-07-03 01:16

"Ryan Dahl" <junk_this_way@hotmail.com> wrote in message
news:hmdghvok16esf2a7p5tscduf4buvs1317t@4ax.com...
> On Fri, 18 Jul 2003 19:11:33 +0200, "Lasse Westh-Nielsen"
> <lasse@daimi.au.dk> wrote:
>
>
> Hej Lasse,
>
> tak for input.
>
> Jeg kiggede dog lidt på dit eksempel, og det ser ud til, at du har
> misforstået mig. Og jeg synes da, at jeg behandler null-værdierne
> korrekt.
>
> Der er ingen problemer med getParameter() når metoden er placeret i
> den class, som bliver kaldt direkte fra html-siden. Nøjagtigt lige som
> du viser med MyApplet.
>
> Problemet opstår først, når jeg ønsker at lave en class i en seperat
> fil. Hvor eneste formål med denne fil, er at hente parametrene fra
> html-siden. - Lad os kalde den 'HentParam.class'.
>
> Jeg kalder altså en metode i 'HentParam.class', hvori jeg anvender
> getParameter(), og det er her problemet opstår.
>
> Løsningen var, at referere til den class, som blev kaldt fra min
> html-side. Denne class er åbenbart den eneste, som har adgang til
> parametrene. - Den detaljerede beskrivelse kan findes nederst i det
> link jeg tidligere postede.

Du må undskylde, jeg misforstod dit spørgsmål - jeg antog vist du var en
newbie, som overskriften sagde

Jeg lavede et par eksempler, hvor jeg indsatte applets udenfor en normal
kontekst, dvs direkte i en JFrame eller i en anden Applet i en webside. Og
klart nok, den kaster NullPointerExceptions.

Fejlen ligger i Applet dokumentationen: den fortæller ikke at metoderne
(ikke bare getParameters men også fx getAppletContext) kan kaste exceptions,
som den bør. Metodekaldene sendes videre til Applet'ens AppletStub, som kan
risikere at være null hvis der ikke er en rigtig kontekst.

Sun ved det godt, det er med i deres bugliste:
http://developer.java.sun.com/developer/bugParade - Bug Id 4672138

Mvh Lasse


--
<signature>
Lasse Westh-Nielsen
lasse@daimi.au.dk
</signature>





Robert Larsen (21-07-2003)
Kommentar
Fra : Robert Larsen


Dato : 21-07-03 08:12

Lasse Westh-Nielsen wrote:
> "Ryan Dahl" <junk_this_way@hotmail.com> wrote in message
> news:hmdghvok16esf2a7p5tscduf4buvs1317t@4ax.com...

> Fejlen ligger i Applet dokumentationen: den fortæller ikke at metoderne
> (ikke bare getParameters men også fx getAppletContext) kan kaste exceptions,
> som den bør. Metodekaldene sendes videre til Applet'ens AppletStub, som kan
> risikere at være null hvis der ikke er en rigtig kontekst.

Nu var det jo bare en null-pointer exception. Den behøver ikke at blive
dokumenteret for den kan jo kastes alle steder fra og er mest et tegn på
dårlig kode.


Lasse Westh-Nielsen (21-07-2003)
Kommentar
Fra : Lasse Westh-Nielsen


Dato : 21-07-03 18:41

"Robert Larsen" <Xrcl@ttpcom.com> wrote in message
news:bfg3nc$q3d$1@sunsite.dk...

> Nu var det jo bare en null-pointer exception. Den behøver ikke at blive
> dokumenteret for den kan jo kastes alle steder fra og er mest et tegn på
> dårlig kode.
>

Man kan jo ikke tage højde for en exception med mindre man bliver advaret om
at den kan komme?

Den her null-pointer exception kastes inde fra en metode jeg kalder i
API'et, og jeg mener den skal håndteres derinde eller i det mindste
dokumenteres.

I din verden skal jeg tage højde for exceptions i ALLE metodekald jeg
nogensinde foretager, og det giver jo ingen mening.

Mvh Lasse


--
Lasse Westh-Nielsen
lasse@daimi.au.dk




Robert Larsen (21-07-2003)
Kommentar
Fra : Robert Larsen


Dato : 21-07-03 19:57

Lasse Westh-Nielsen wrote:
> "Robert Larsen" <Xrcl@ttpcom.com> wrote in message
> news:bfg3nc$q3d$1@sunsite.dk...
>
>
>>Nu var det jo bare en null-pointer exception. Den behøver ikke at blive
>>dokumenteret for den kan jo kastes alle steder fra og er mest et tegn på
>>dårlig kode.

> Man kan jo ikke tage højde for en exception med mindre man bliver advaret om
> at den kan komme?
>
> Den her null-pointer exception kastes inde fra en metode jeg kalder i
> API'et, og jeg mener den skal håndteres derinde eller i det mindste
> dokumenteres.
>
> I din verden skal jeg tage højde for exceptions i ALLE metodekald jeg
> nogensinde foretager, og det giver jo ingen mening.
>

Som jeg sagde så burde null-pointer exceptions slet ikke forekomme. Det
er et tegn på dårlig kode. Det burde ikke dokumenteres men rettes så det
ikke opstår. Null-pointere er fejl, IOExceptions er snarere en
meddelelse om at ét eller andet gik galt men ikke nødvendigvis en fejl i
koden.
new operatoren kan kaste OutOfMemoryException og du har vel heller ikke
en try-catch blok rundt om alle dine objektinstansieringer vel ?


Anders K. Olsen (21-07-2003)
Kommentar
Fra : Anders K. Olsen


Dato : 21-07-03 21:41

"Robert Larsen" <Xrobert@the-playground.dk> skrev i en meddelelse
news:3F1C3764.9080600@the-playground.dk...
> new operatoren kan kaste OutOfMemoryException og du har vel heller ikke
> en try-catch blok rundt om alle dine objektinstansieringer vel ?

Det er en OutOfMemoryError. Der er forskel på Errors og Exceptions.
Exceptions er programfejl, Errors er ting som ikke burde ske, og som
programmøren sjældent er herre over.

/Anders



Lars (22-07-2003)
Kommentar
Fra : Lars


Dato : 22-07-03 09:27


> Som jeg sagde så burde null-pointer exceptions slet ikke forekomme.
Det
> er et tegn på dårlig kode. Det burde ikke dokumenteres men rettes så
det
> ikke opstår. Null-pointere er fejl, IOExceptions er snarere en
> meddelelse om at ét eller andet gik galt men ikke nødvendigvis en fejl
i
> koden.
> new operatoren kan kaste OutOfMemoryException og du har vel heller
ikke
> en try-catch blok rundt om alle dine objektinstansieringer vel ?

Enig...

Alle programfejl - exceptions - skal og håndteres af programmøren og
ikke af brugeren. Alt andet er dårligt programdesign ...

*/Lars




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste