有两个线程,其中一个线程出现异常时,另一个线程来捕获,怎么实现???不要用以下类似代码,要用.net框架下的封装好的(据说已经实现,可不知道如何做)
List<jexception.JException> l = new List<jexception.JException>();
Thread t;
private object obj = new object();
public Form1()
{
InitializeComponent();
t = new Thread(ts);
t.Start();
try
{
throw new jexception.JException("ksks");
}
catch (jexception.JException e)
{
Add(e);
}
try
{
throw new jexception.JException("aaa");
}
catch (jexception.JException ex)
{
Add(ex);
}
} private void Add(jexception.JException e)
{
lock (obj)
{
l.Add(e);
}
} private void ts()
{
while (true)
{
if (l.Count > 0)
{
MessageBox.Show(l[0].Message);
l.RemoveAt(0);
}
}
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (!t.Equals(null)) t.Abort();
}
List<jexception.JException> l = new List<jexception.JException>();
Thread t;
private object obj = new object();
public Form1()
{
InitializeComponent();
t = new Thread(ts);
t.Start();
try
{
throw new jexception.JException("ksks");
}
catch (jexception.JException e)
{
Add(e);
}
try
{
throw new jexception.JException("aaa");
}
catch (jexception.JException ex)
{
Add(ex);
}
} private void Add(jexception.JException e)
{
lock (obj)
{
l.Add(e);
}
} private void ts()
{
while (true)
{
if (l.Count > 0)
{
MessageBox.Show(l[0].Message);
l.RemoveAt(0);
}
}
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (!t.Equals(null)) t.Abort();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货