Noob spørgsmål...

Tags:    c#

Hej folkens,

Jeg sidder her og leger med lidt programmering og får i følgende kode, en fejl jeg ikke forstår.

Fold kodeboks ind/udKode 


Altså, der bliver tjekket for condition a og b, her efter (hvis de er opfyldt) for condition c.

Det fungere fint så længe "cbServices.Text" enten er "Empty", indeholder "<Select a service> eller et navn der eksisterer i "controller.DisplayName". Men skriver jeg f.eks. "test" går det i ged.

Nogle der gider kigge på det?

Her er koden i sin fulde længde hvis nogle skulle have lyst til at kompile skidtet.

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 15.08.2008 10:51 af Bruger #14083
6 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
update...

Efter at have set nærmere på fejlen ser det ud som om det egentlig ikke er koden den er gal med...

An unhandled exception of type 'System.InvalidOperationException' occurred in System.ServiceProcess.dll

Additional information: Service h was not found on computer '.'.



Indlæg senest redigeret d. 15.08.2008 11:06 af Bruger #14083
Husk lige at sende den fulde fejlmeddelelse !..

Prøv den her:

try
{
//code der skal forsøges
}catch(InvalidOperationException exp)
{
StatusBar.Text = "Ukendt service: Fejlmeddelelse:" + System.Environment.NewLine + exp.ToString();
}






Der er noget uldent i din if, du har et enkelt & i stedet for 2 &&, det betyder at du AND'er dine statements i stedet for at lave en logisk AND.

Trur du skal starte med at skrive to && i stedet fór det ene...

(update) Du checker aldrig i din if for on "controller" er null, det bør du gøre før du spørger om dens navn.. hvis den er null og du spørger om dens navn, brager den ned.





Indlæg senest redigeret d. 15.08.2008 13:59 af Bruger #2730
Hvis den er null får han ikke en InvalidOperationException

Jeg ville hellere smide

serviceController1.DisplayName = cbServices.Text;
MyStatus = serviceController1.Status;

Ind i en try catch, og så bare droppe den exception.



Den missede jeg den post...
Ser ud til at man ikke kan bede den om at indeksere en service som ikke findes?? fx at services "test" ikke findes... bare en tanke

Men jeg er enig, lav en try/catch sektion og hvis det virker og din catch rammes, så lad som om du ikke har set det og kom videre :-)



Lavede Try/Catch på den og nu kører det 100%. Tak for hjælp!

Fold kodeboks ind/udKode 




t