Tôi muốn bắt một ValueError cụ thể, không chỉ bất kỳ ValueError nào.
tôi đã cố gắng somthing như thế này:Python: Bắt ngoại lệ cụ thể
try: maquina['WPF'] = macdat(ibus, id, 'WPF')
except: ValueError, 'For STRING = ’WPF’, this machine is not a wind machine.':
pass
Nhưng nó đặt ra một Lỗi Cú pháp: không thể gán cho chữ.
Sau đó, tôi đã cố gắng:
try: maquina['WPF'] = macdat(ibus, id, 'WPF')
except ValueError, e:
if e != 'For STRING = ’WPF’, this machine is not a wind machine.':
raise ValueError, e
Nhưng nó làm tăng ngoại lệ, ngay cả khi nó là một trong tôi muốn tránh.
Bạn nhận được câu trả lời bên dưới, nhưng khi bạn nâng cao ngoại lệ, chỉ cần sử dụng 'nâng cao ': theo cách đó nếu ngoại lệ không được xử lý, bạn vẫn nhận được backtrace ngăn xếp ban đầu thay vì bắt đầu từ đó được nâng lên. – Duncan