C# Bedingung für Erstellen von Objekten

XBernhardX

Newbie
Registriert
März 2017
Beiträge
7
Hallo,
das Problem ist wahrscheinlich recht leicht lösen aber ich schaff es leider als Anfänger nicht selbst.

Ich habe eine Klasse von der ein Object erstellt werden soll.
Um das Object zu erstellen muss ihm ein String gegeben werden.
Nun soll jedoch dabei geprüft werden ob bestimme Buchstaben in String vorkommen die nicht vorkommen dürfen. Wenn dieser Fall eintritt sollte eben eine passende Fehlermeldung ausgegeben werden und das Programm danach beendet werden.

Ich hab schon gesucht und bin über try, catch, finally gestolpert. Aber ich weiß einfach nicht wie oder wo ich das einbauen muss

Vielen Dank im Vorraus für die Hilfe
VG
 
If (<BEDINGINGUNG>)
{
Throw New Exception("Bad News");
}

Du willst einen Fehler erzeugen.
Mit "try, catch, finally" kannst du wiederum Fehler abfangen (was du in diesem Fall aber nicht möchtest)
 
Zuletzt bearbeitet:
Und das ganze dann in den Konstruktor der Objektklasse und gut ist. :)

Einen Error sollte man mMn aber immer behandeln.
 
Hallo,

ich habe deine Fragestellung in etwa so verstanden:

Code:
   class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var myObject = new MyObject("rhftjtj");
                Console.WriteLine(myObject.MyString);
                Console.ReadLine();
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message);
                Console.ReadLine();
            }
        }
    }

    public class MyObject
    {
        private string _myString { get; set; }

        public String MyString {
            get {
                return _myString;
            }
        }

        private char[] _notAllowedChars = { 'a', 'b', 'c' };
        public MyObject(string parameterString)
        {
            if (parameterString.ToCharArray().Intersect(_notAllowedChars).Count() > 0)
            {
                throw new ArgumentOutOfRangeException(nameof(parameterString), "Contains not allowed characters");
            }

            _myString = parameterString;
        }
    }
 
Zuletzt bearbeitet:
Das hatte ich mir auch schon gedacht, nur wenn ich das mache bekomm ich

Ein Ausnahmefehler des Typs "System.Exception" ist in TEST.exe aufgetreten.
Zusätzliche Informationen: Bad News

Aber wie oder wo muss ich nun weitermachen das ich dem User die Info ausgebe was das Problem ist und dann Programm endet.
VG
 
Du musst keine Fehler erzeugen. Es reicht eine einfache Fehlermeldung und ein geordnetes Programmende.
 
Och meine Güte, da steht doch der Text "Bad News". Ersetz den einfach durch den Text den du dem Anwender geben willst.
Wenn er dann auf OK klickt ist das Programm doch beendet?
 
Ja das sieht ziehmlich so aus wie das was ich meinte:)
aber muss ich dann das Try/catch um jede erzeugung des des Objekts setzten? oder kann man das irgendwie nur 1 mal in der Klasse abarbeiten?
VG
 
Environment.exit ist die Holzhammer Methode. Normales beenden sieht anders aus.
 
Zurück
Oben