Tôi đang cố gắng lấy ApplicationException và nó chỉ hiển thị thông báo khi đầu vào không phải là số. Đây là những gì tôi có bây giờ:
static void getBookInfo(Sách sách)
{
bool isNumeric;
số phao;
số chuỗiĐầu vào;
Console.Write("Nhập tên sách: ");
book.Title = Console.ReadLine();
Console.Write("Nhập tên tác giả: ");
book.AuthorFirstName = Console.ReadLine();
Console.Write("Nhập họ tác giả: ");
book.AuthorLastName = Console.ReadLine();
Console.Write("Nhập giá sách: $");
numberInput = Console.ReadLine();
isNumeric = float.TryParse(numberInput, out number);
nếu(isNumeric)
book.Price = số;
khác
{
ném ngoại lệ ứng dụng mới
(
"Đây không phải là số!\n" +
"Xin vui lòng thử lại."
);
}
}
Toàn bộ Program.cs có hiệu lực sau khi chỉnh sửa. Vấn đề là phần ApplicationException hiển thị toàn bộ bản in của ngoại lệ, bây giờ nó chỉ hiển thị phần thông báo thay vì thực hiện điều đó. Thông thường điều này là đơn giản. :)
using System;
không gian tên Lab_6
{
class Program
{
static void Main(string[] args)
{
Địa chỉ địa chỉ = Địa chỉ mới();
address.StreetNumber = "800";
address.StreetName = "Phố 96 phía Đông";
address.City = "Indianapolis";
address.State = "IN";
address.ZipCode = "46240";
Sách sách = Sách mới();
thử
{
getBookInfo(sách);
book.PublisherAddress = địa chỉ;
book.PublisherName = "Nhà xuất bản Sams";
Console.WriteLine("----Sách----");
sách.display();
}
bắt (NegativeInputException cũ)
{
Console.WriteLine(ex.Message);
return;
}
bắt (ApplicationException cũ)
{
Console.WriteLine(ex.Message); // Tôi phải thay đổi nên chỉ có cái này,
// thay vì toàn bộ bản in.
return;
}
}
static void getBookInfo(Sách sách)
{
bool isNumeric;
số phao;
số chuỗiĐầu vào;
Console.Write("Nhập tên sách: ");
book.Title = Console.ReadLine();
Console.Write("Nhập tên tác giả:")
book.AuthorFirstName = Console.ReadLine();
Console.Write("Nhập họ tác giả: ");
book.AuthorLastName = Console.ReadLine();
Console.Write("Nhập giá sách: $");
numberInput = Console.ReadLine();
isNumeric = float.TryParse(numberInput, out number);
nếu(isNumeric)
book.Price = số;
khác
{
ném ngoại lệ ứng dụng mới
(
"Đây không phải là số!\n" +
"Xin vui lòng thử lại."
)
}
}
}
}
Ngoại lệ không hiển thị gì cả. Nó phụ thuộc vào mã nắm bắt chúng.
Ngoài ra, bạn không nên sử dụng Ứng dụng ngoại lệ
. Hoặc sử dụng Exception
hoặc sử dụng một cái gì đó cụ thể hơn như FormatException
.
Tôi là một lập trình viên xuất sắc, rất giỏi!