ここに最初の投稿があります。いくつかの問題が間違っている場合は申し訳ありません。ユーザーが無効な(存在しない)従業員を入力するという例外をキャッチしようとしています。さまざまなバリエーションを試しましたが、エラーが発生することはありません。代わりに、コードは終了するだけです。この場合、次の行の後にドロップアウトします。
MyPostSalary = Convert.ToDouble(Console.ReadLine());
Console.WriteLine();
誰かが私が間違っていることを見ることができますか?
完全なコード:
Console.Write("Employee ID: ");
myEID = Console.ReadLine();
try
{
Console.Write("Post ID: ");
myPID = Console.ReadLine();
if ((myEmployees[myEID] is MonthlyPaidEmployee) || (myEmployees[myEID] isWeeklyPaidEmployee))
{
Console.Write("Post Name: ");
MyPostName = Console.ReadLine();
Console.Write("Post Start Date: ");
MyPostStartDate = Convert.ToDateTime(Console.ReadLine());
Console.Write("Post End Date: ");
MyPostEndDate = Convert.ToDateTime(Console.ReadLine());
Console.Write("Post Salary: ");
MyPostSalary = Convert.ToDouble(Console.ReadLine());
Console.WriteLine();
myPost = new Post(myPID, MyPostName, MyPostStartDate, MyPostEndDate, MyPostSalary);
if (myEmployees[myEID] is MonthlyPaidEmployee)
{
myMonthlyEmp = (MonthlyPaidEmployee)myEmployees[myEID];
myMonthlyEmp.PostHistory.Add(myPID, myPost);
}
if (myEmployees[myEID] is WeeklyPaidEmployee)
{
myWeeklyEmp = (WeeklyPaidEmployee)myEmployees[myEID];
myWeeklyEmp.WeeklyPaidEmployeePostHistory.Add(myPID, myPost);
}
}
}
catch (NullReferenceException ex)
{
Console.WriteLine("Employee ID does not exist.");
Console.WriteLine(ex.Message);
Console.WriteLine();
Console.WriteLine("Press any key to continue");
Console.ReadLine();
}