E32 E 7 - 9

This commit is contained in:
s.schueler.doz 2025-03-10 12:51:25 +01:00
parent 6bbb37a435
commit baa00b6df9
3 changed files with 46 additions and 27 deletions

View File

@ -11,36 +11,23 @@ namespace Exercises_C_Sharp.E32_Exceptions
int i; int i;
string s; string s;
char c; char c;
Console.WriteLine("Bitte Zahl eingeben:");
while(!int.TryParse(Console.ReadLine(), out i))
Console.WriteLine("Falsche Zahl :(");
Console.WriteLine("Bitte String eingeben:");
while(true) while(true)
{ {
try s = Console.ReadLine() ?? "";
{ if(s.Length > i)
Console.WriteLine("Bitte Zahl eingeben:"); break;
i = Convert.ToInt32(Console.ReadLine() ?? ""); Console.WriteLine("Leider ein Fehler. Bitte String nochmal eingeben...");
}
catch
{
Console.WriteLine("Falsche Zahl :(");
continue;
}
break;
}
while(true)
{
try
{
Console.WriteLine("Bitte String eingeben:");
s = Console.ReadLine() ?? "";
c = s[i];
}
catch
{
Console.WriteLine("Leider ein Fehler. Bitte String nochmal eingeben...");
continue;
}
break;
} }
c = s[i];
Console.WriteLine("Der extrahierte Char ist " + c); Console.WriteLine("Der extrahierte Char ist " + c);
//Code ENDE //Code ENDE
} }

View File

@ -11,6 +11,14 @@ namespace Exercises_C_Sharp.E32_Exceptions
//Rufen Sie die Methode Meth auf und fangen Sie alle Fehler mit einem catch-Block auf. Geben Sie dann die Exception und deren Nachricht auf der Konsole aus. //Rufen Sie die Methode Meth auf und fangen Sie alle Fehler mit einem catch-Block auf. Geben Sie dann die Exception und deren Nachricht auf der Konsole aus.
//Code START //Code START
try
{
Meth();
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}
//Code ENDE //Code ENDE
} }

View File

@ -10,18 +10,42 @@ namespace Exercises_C_Sharp.E32_Exceptions
//Code START //Code START
while(true)
{
try
{
Console.WriteLine("Bitte geben Sie einen Namen ein:");
Thing t = new(Console.ReadLine() ?? "");
break;
}
catch(Exception ex)
{
Console.WriteLine("Es ist ein Fehler aufgetreten:");
Console.WriteLine(ex.ToString());
}
}
//Code ENDE //Code ENDE
} }
} }
class Thing class Thing
{ {
private string Name = string.Empty; private string name = string.Empty;
public Thing(string name) public Thing(string name)
{ {
//1. Diese Klasse representiert irgendeine Sache. Dieser Sache muss im Konstruktor ein Name übergeben werden. Für den Namen gilt: Er muss mindestens 5 Zeichen besitzen, keiner der Zeichen darf eine Zahl sein und natürlich darf der Übergabewert auch nicht null sein. Sollte ein falscher Wert übergeben werden, so schmeißen Sie eine jeweilige Exception mit einer Erläuterung, um was es sich genau handelt. Sollte alles passen, speichern Sie den Wert in die Variable 'Name'. //1. Diese Klasse representiert irgendeine Sache. Dieser Sache muss im Konstruktor ein Name übergeben werden. Für den Namen gilt: Er muss mindestens 5 Zeichen besitzen, keiner der Zeichen darf eine Zahl sein und natürlich darf der Übergabewert auch nicht null sein. Sollte ein falscher Wert übergeben werden, so schmeißen Sie eine jeweilige Exception mit einer Erläuterung, um was es sich genau handelt. Sollte alles passen, speichern Sie den Wert in die Variable 'Name'.
//Code START //Code START
if(name == null) throw new ArgumentNullException("Leider war der Name NULL");
if(name.Length < 5) throw new FormatException("Leider war die länge von 5 nicht erreicht.");
if(name.Any(k => char.IsDigit(k))) throw new Exception("Leider war eine Stelle eine Zahl");
foreach(var element in name)
if(int.TryParse(element.ToString(), out _))
throw new Exception("Leider war eine Stelle eine Zahl");
this.name = name;
//Code ENDE //Code ENDE
} }
} }