2012-12-11 31 views

Trả lời

55

throw từ khóa tại PowerShell hoạt động khác nhau sau đó .net triển khai: trong .net bạn chỉ có thể tự mình ném hoặc tự sắp xếp , nhưng trong PowerShell, bạn có thể ném bất cứ thứ gì và được tự động gói lại thành System.Management.Automation.RuntimeException. Xem đoạn mã here.

Nếu bạn muốn tái ném ngoại lệ ban đầu bạn có thể sử dụng throw (phổ biến nhất), hoặc throw $_, hoặc throw $_.Exception

ps: bên catch biến $_ không phải là ngoại lệ bởi chính nó, nhưng System.Management.Automation.ErrorRecord có chứa ngoại lệ

+17

Lưu ý: Trong C#, biểu mẫu 'throw' giữ ngữ cảnh ngoại lệ ban đầu (vị trí nguồn), nhưng tiếc là điều này dường như không phải là trường hợp trong PowerShell. – brianary

Các vấn đề liên quan