[c#] throw exception

Moderators: jkien, Xilvo

Reageer
Berichten: 220

[c#] throw exception

Ik heb volgende klasse in C# en de waarde prijs die ik in mijn Program inlees mag niet negatief zijn. INdien negatief dan moet hij via de Try Catch in mijn Program een exception message geven. Ik schets hier even de structuur van mijn programma (niet volledig). Ik merk dat wanneer ik toch een negatieve prijs ingeef deze exception handling niet werkt. Aan wat kan dit liggen en waar moet ik mogenlijk op letten?

Code: Selecteer alles

public class Wafel

{

private double prijs;

private int gewicht;

public double Prijs

{

set

{

if (value > 0)

{

this.prijs = value;

}

else

{

throw new Exception("Prijs < 0");

}

}

get

{

return this.prijs;

}

}
... zelfde voor gewicht

Code: Selecteer alles

class Program

{

static void Main(string[] args)

{

 double prijs = 0;

 int gewicht = 0;

 try

 {

do

{

Console.Write("Prijs: ");

} while (!double.TryParse(Console.ReadLine(), out prijs));

do

{

Console.Write("Gewicht: ");

} while (!int.TryParse(Console.ReadLine(), out gewicht));

 }

 catch (Exception zero)

 {

  Console.WriteLine("Er is een fout gebeurd: " + zero.Message + "\n\n");

  }
Ik zou dus graag indien prijs <0 hebben dat hij via deze methode volgend bericht geeft: "Er is een fout gebeurd: Prijs < 0"

Alvast bedankt voor de hulp

Gebruikersavatar
Berichten: 7.224

Re: [c#] throw exception

Je gebruikt de klasse Wafel helemaal niet in je programma.
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

Berichten: 220

Re: [c#] throw exception

Wafel wafel = new Wafel(prijs, gewicht) staat er ook tussen.

Gebruikersavatar
Berichten: 2.609

Re: [c#] throw exception

Ik vermoed dat je geen try hebt staan rond de setter van die prijs. Enkel daar wordt de exception geworpen, dus enkel met een try rond die functie zal je ze kunnen opvangen.

Berichten: 220

Re: [c#] throw exception

kan je me even aantonen in de code? want ik zie niet direct wat je wil zeggen met "setter van die prijs"

bedankt

Gebruikersavatar
Berichten: 2.609

Re: [c#] throw exception

Voor zover ik kan zien wordt de exception alleen geworpen in de 'setter' van prijs.

Alleen als je dus "wafel.prijs = -1;" probeert te doen zal je dan volgens mij die exception ontvangen.

Afhankelijk van hoe je constructor ineen zit kan het goed zijn dat wafel(-1,-1) gewoon werkt.

(Ik ben niet bekend met de details van C#, maar dat is wat ik afleid uit de stukken code die je geeft.)

Reageer