Tại sao mã này thực hiện theo cách này?
Vì rõ ràng mã không biết cách xử lý ngoại lệ ở cấp này. Điều đó là tốt đẹp - miễn là một trong những người gọi thực hiện, nghĩa là miễn là trường hợp ngoại lệ cuối cùng được xử lý ở đâu đó.
Thông thường, mã cấp thấp không thể phản ứng phù hợp với ngoại lệ vì người dùng cần được thông báo hoặc ngoại lệ phải được đăng nhập hoặc một chiến lược khác phải được thử. Mã cấp thấp thực hiện chỉ một chức năng và không biết về việc ra quyết định cấp cao hơn.
Nhưng mã vẫn cần để làm sạch các nguồn lực (vì nếu không, họ sẽ bị rò rỉ), vì vậy nó không chỉ là trong mệnh đề finally
, đảm bảo rằng nó luôn xảy ra, cho dù là một ngoại lệ ném hay không.
Nguồn
2010-04-10 18:40:01
thường được sử dụng với các khóa như: lock.lock(); thử {/ * locked * /} cuối cùng {lock.unlock()} – mins