如何捕获另一个 Powershell 脚本中抛出的异常?
我有两个 Powershell 脚本;主.ps1 和子.ps1。 main.ps1 调用 sub.ps1。有时 sub.ps1 会引发异常。是否可以从 main.ps1 捕获 sub.ps1 抛出的异常?
示例 main.ps1:
try{. .\sub.ps1;}
catch
{}
finally
{}
示例 sub.ps1:
throw new-object System.ApplicationException "I am an exception";
I have a two Powershell scripts; main.ps1 and sub.ps1. main.ps1 calls sub.ps1. Sometimes sub.ps1 throws an exception. Is it possible to catch the exception thrown by sub.ps1 from main.ps1 ?
Example main.ps1:
try{. .\sub.ps1;}
catch
{}
finally
{}
Example sub.ps1:
throw new-object System.ApplicationException "I am an exception";
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个简单的示例:
使用
help about_Try_Catch_Finally
了解更多详细信息。另一种方法是使用
trap
,请参阅help about_trap
。如果您有一些 C# 或 C++ 背景,那么我建议使用 Try_Catch_Finally 方法(但这也取决于您具体做什么)。Here is a simple example:
Use
help about_Try_Catch_Finally
for more details.Yet another way is to use
trap
, seehelp about_trap
. If you have some C# or C++ background then I would recommend to use Try_Catch_Finally approach (but it also depends on what exactly you do).