仅供我澄清:
我可以在.NET Framework中抛出CLS-Complaint和非CLS投诉异常吗?.我正在使用C#3.0.
当我抓住异常
catch(Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
我有用C#编写的以下函数
public static string GetNominativeDeclension(string surnameNamePatronimic)
{
if(surnameNamePatronimic == null)
throw new ArgumentNullException("surnameNamePatronimic");
IntPtr[] ptrs = null;
try
{
ptrs = StringsToIntPtrArray(surnameNamePatronimic);
int resultLen = MaxResultBufSize;
int err = decGetNominativePadeg(ptrs[0], ptrs[1], ref resultLen);
ThrowException(err);
return IntPtrToString(ptrs, resultLen);
}
catch
{
return surnameNamePatronimic;
}
finally
{
FreeIntPtr(ptrs);
}
Run Code Online (Sandbox Code Playgroud)
}
函数decGetNominativePadeg在非托管dll中
[DllImport("Padeg.dll", EntryPoint = "GetNominativePadeg")]
private static extern Int32 decGetNominativePadeg(IntPtr surnameNamePatronimic,
IntPtr result, ref Int32 resultLength);
并抛出异常:
Attempted to read or write protected memory. This is often an indication that other memory …
Run Code Online (Sandbox Code Playgroud)