Có cách nào để bắt nhiều ngoại lệ cùng một lúc mà không bị trùng lặp mã không?
Có cách nào để bắt nhiều ngoại lệ cùng một lúc mà không bị trùng lặp mã không?
Có, trong lập trình, việc bắt nhiều ngoại lệ cùng một lúc mà không bị trùng lặp mã là hoàn toàn khả thi. Trong ngôn ngữ lập trình C#, bạn có thể sử dụng một khối catch duy nhất và sử dụng từ khóa when
để chỉ định các loại ngoại lệ cụ thể mà bạn muốn bắt. Ví dụ, bạn có thể viết như sau:
try
{
// Mã có thể phát sinh ngoại lệ
}
catch (Exception ex) when (ex is FormatException || ex is OverflowException)
{
// Xử lý cho cả hai loại ngoại lệ FormatException và OverflowException
Console.WriteLine(ex.ToString());
}
Trong Java, từ phiên bản 7 trở đi, bạn cũng có thể bắt nhiều ngoại lệ trong cùng một khối catch bằng cách sử dụng dấu gạch đứng (|) để phân cách giữa các loại ngoại lệ:
try
{
// Mã có thể phát sinh ngoại lệ
}
catch (FileNotFoundException | InputMismatchException ex)
{
// Xử lý cho cả hai loại ngoại lệ FileNotFoundException và InputMismatchException
System.out.println(ex.toString());
}
Cách tiếp cận này giúp giảm bớt sự trùng lặp mã và làm cho mã nguồn gọn gàng, dễ đọc và dễ bảo trì hơn[1][2][4][8][11][14].
Citations:
[1] https://code-maze.com/csharp-catch-multiple-exceptions/
[2] https://stackoverflow.com/que...
middle
Chưa có bình luận nào