c# - 如何修复捕获 TimeoutException?
问题描述
我怎样才能抓到TimeoutException
?
我想TimeoutException
在 3 秒后赶上。但是在 3 秒后它会打印出来,TimeoutException
而这It's too long. Timeout!
是预期的。
用console application
它不抓TimeoutException
。
public static void work()
{
Thread.Sleep(3000);
Console.WriteLine("TimeoutException");
throw new TimeoutException();
}
public static void Main(string[] args)
{
try
{
ThreadStart th = new ThreadStart(work);
Thread t = new Thread(th);
t.Start();
//Execute SearchProgram
t.Abort();
}
catch (ThreadInterruptedException)
{
Console.WriteLine("It's too long. Timeout!");
}
Console.WriteLine("Result : ~~~");
}
解决方案
您可能捕获了错误的异常。根据微软文档(https://docs.microsoft.com/fr-fr/dotnet/api/system.timeoutexception?view=netframework-4.8),您应该捕获 TimeOutException 类。
推荐阅读
- c# - 使用 C# 从 SQL 数据集到 Excel 流的 OpenXml
- kotlin - 如何阻止 Intellij 跳过测试?
- sql - 计算 BigQuery SQL 中两个邮政编码之间的距离(以英里为单位)?
- django - 我可以在 select_related() 字段上进行注释吗?
- java - 用于监视文件目录的类的类和实例变量命名建议,该文件目录在超过最大大小时删除文件
- java - Jmeter 没有运行 HttpSamplerProxy
- python - 烧瓶从谷歌驱动器文件夹中获取所有图片链接
- flutter - 在 Flutter 中裁剪视频
- c - 使用系统调用从文件中读取变量值
- python - 枢轴多个组合 - 数据框 - Python