比较简单的方式,是在程序中先去捕获,然后再修改信息,最后抛出。如果想更多的信息,则需要一个类去继承Exception类,然后添加自己的元素。
先说简单的方法,首先修改存在异常的函数,例如:
private void fun(int i, int k)
{
try
{
string a1 = "";
string c1 = a1.Substring(1,3);
}
catch( Exception err )
{
string strPara = string.Format( "First Par(int):{0}/nSecondPar(int):{1};", i, k );
ApplicationException myErr = new ApplicationException( strPara + “/n” + err.Message, err );
throw myErr;
}
}
然后在捕获的时候,如下即可:
try
{
fun( 1, 2 );
}
catch( Exception myErr )
{
MessageBox.Show( myErr.Message );
}
至于继承Exception类,方法是一样的,例如:
public class MyException:Exception
{
private string strAppendMessage = "";
public string AppendMessage
{
get{ return strAppendMessage;}
set{ strAppendMessage = value;}
}
public MyException( string sAppendMessage, Exception err ):
base(sAppendMessage, err)
{
strAppendMessage = sAppendMessage;
}
}
你可以按照需要在其中加入更多的信息。