Chắc chắn có: đặt nó ở cuối khối try
.
try{
// something
// i can do what i want here
}catch(Exception e){
// handle exception
}
Điều này không hoàn toàn tương đương với mã ban đầu của bạn theo nghĩa "nếu bạn muốn" ném, ngoại lệ sẽ bị bắt tại địa phương (điều này sẽ không xảy ra với kế hoạch ban đầu của bạn). Đây là một cái gì đó bạn có thể hoặc có thể không quan tâm, và có một cơ hội tốt mà các hành vi khác nhau cũng là một trong những chính xác.
Nếu bạn muốn mang lại cho các hành vi cũ trở lại, bạn cũng có thể sử dụng biến thể này mà không đòi hỏi một finally
chỉ vì lợi ích của văn bản "nếu không có ngoại lệ" tình trạng:
var checkpointReached = false;
try{
// something
checkpointReached = true;
// i can do what i want here
}catch(Exception e){
if (checkpointReached) throw; // don't handle exceptions after the checkpoint
// handle exception
}
Bạn có bất kỳ "trở lại" nào trong khối thử không? – Guillaume
Câu trả lời có 18 phiếu bầu giữa họ và câu hỏi 1 phiếu bầu? –
@Guillaume không trả lại – lowerkey