gpt4 book ai didi

.net - JScript.NET 能否区分不同的.NET 异常类型

转载 作者:行者123 更新时间:2023-11-29 22:43:43 24 4
gpt4 key购买 nike

我正在使用 JScript.NET 在我编写的 C# WinForms 应用程序中编写脚本。它工作得很好,但我只是尝试在脚本中放置一些异常处理,但我无法弄清楚如何判断我的 C# 代码抛出了哪种类型的异常。

下面是一些示例 JScript 代码,它抛出两种不同类型的 CLR 异常,然后 try catch 它们并将它们区分开来。

function ErrorTest(name)
{
try
{
if (name.length < 5)
{
throw new ArgumentException();
}else
{
throw new InvalidOperationException();
}
}catch (e)
{
return e.name + " " + (e.number & 0xFFFF) + ": " + e.message;
}
}

如果我调用 ErrorTest("foo"),然后我返回 “错误 5022:值不在预期范围内。”,如果我调用ErrorTest("foobar"),然后我返回 “错误 5022:由于对象的当前状态,操作无效。”

名称和号码属性相同,唯一的区别是消息。我不想根据错误消息开始编写错误处理逻辑,那么有什么方法可以获取原始异常而不是 JScript Error 对象吗?

最佳答案

使用 JScript .NET 的类型注释支持,如下所示:

  try { }
catch (e : ArgumentException) {
// ...
}

关于.net - JScript.NET 能否区分不同的.NET 异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/570652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com