简而言之,我正在努力实现这样的目标:
public class AssetParseException : Exception
{
public AssetParseException()
{
}
public AssetParseException( string message/*, int assetID*/ ): base(message)
{
}
}
理想情况下,这会给我这个功能:
catch (AssetParseException exception)
{
int idThatCausedIssue = exception.assetID;
}
我想要的额外信息是整数参数。我想在更高级别捕获 AssetParseExceptions 并知道哪个 Assets 引发了异常。这可能吗?我是否需要将所有这些信息都塞进消息中,然后在更高级别解析它?
最佳答案
只需添加:
public int AssetID {get;私有(private)集;
到您的 AssetParseException
类,并在您使用
AssetParseException(string message, int assetID):base(message)
{
AssetID = assetID;
}
我们一直这样做。了解有关异常的额外信息总是很好,为什么不把它放进去,因为你已经不厌其烦地抛出特定类型的异常。
关于c# - 通过自定义异常处理传递额外的程序状态信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504452/