Trong một khối multicatch Java 7 như sau:Trong khối Java 7 đa khối, loại ngoại lệ bị bắt là gì?
try {
// code that throws exception
} catch (CharacterCodingException | UnknownServiceException ex) {
// handle exception
}
loại thời gian biên dịch ex
là gì? Có phải đó là lớp học xuất phát nhất mà cả hai loại ngoại lệ đều có điểm chung? Trong ví dụ này có thể là IOException
.
nó sẽ làm cho tinh thần để được bất cứ được ném, nhưng bạn có thể dễ dàng kiểm tra bằng cách in ra 'ex.getClass() ' – Jon
Nếu bạn cần phải có hành vi khác nhau dựa trên những gì ngoại lệ bị bắt là, sau đó bạn không nên sử dụng một khối đa khối - phá vỡ nó ra thành nhiều khối catch. –
@Jon: "Loại" là một khái niệm biên dịch-thời gian, bạn đang nói về lớp thời gian chạy của đối tượng. – ColinD