我在班级ProductServices
中有以下方法:
public bool IsDownloadAllowed(int Id, string productId)
{
if (CustomStringFunctions.IsGuid(productId))
{
//Do Something
}
else
{
throw new FormatException("The Guid must be a valid Guid!");
}
}
如果我在以下说明中使用该方法:
var _productServices = new ProductServices();
try
{
var flag = _productServices.IsDownloadAllowed(Id, productId);
//do something
}
catch (Exception e)
{
//handle exception
}
catch
语句未捕获该异常。我还尝试将Exception
替换为FormatException
而没有运气。我做错了什么?
答案 0 :(得分:1)
您必须在此代码中使用静音例外
if (CustomStringFunctions.IsGuid(productId))
{
//Do Something
}
你必须确保在发生时抛出异常(在Do Something中)
静音例外示例
Try
{
}
Catch(Exception ex)
{
//throw don't exist
}
答案 1 :(得分:1)
您的代码看起来是正确的。您的问题的可能解释是CustomStringFunctions.IsGuid
错误地返回true
,因此正在执行\\do something
分支而不是抛出异常分支。