[英]C# not catching exceptions in code, or with debugger
我正在学习如何使用Emgu,并且在VS2015遇到一些问题时没有打破它的异常,以及try / catch块未捕获到它的异常。 Visual Studio中的异常通知将闪烁一秒钟,然后程序退出。
我的代码:
using System;
using Emgu.CV;
using Emgu.CV.UI;
using Emgu.CV.Structure;
using Emgu.CV.Util;
using Emgu.CV.CvEnum;
namespace OpenCV1
{
class Program
{
static void Main(string[] args)
{
try
{
using (var image = new Image<Bgr, byte>(@"C:\Users\Administrator\Downloads\receipt-1.jpg"))
{
float scale = (float)500 / (float)image.Height;
var resized = image.Resize(scale, Emgu.CV.CvEnum.Inter.Nearest);
var grey = image.Convert<Gray, byte>();
grey = grey.SmoothGaussian(5, 5, 1, 1);
var edged = grey.Canny(25, 100);
//ImageViewer.Show(edged, "edged");
VectorOfVectorOfPointF contours = new VectorOfVectorOfPointF();
Mat hierarchy = null;
CvInvoke.FindContours(edged.Copy(), contours, hierarchy, RetrType.List, ChainApproxMethod.ChainApproxSimple);
Console.ReadLine();
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
}
}
我的VS2015例外设置:
Exception的屏幕截图 (关闭前闪烁的速度几乎看不到):
为什么我不能捕捉到这些例外,为什么Visual Studio不会打破它们? 它仍然显示异常消息,但是几乎立即关闭。
尝试从catch块中删除捕获的异常类型。 如下所示:
try
{
// logic here...
}
catch
{
// handler
}
这应该捕获“异常”特定处理程序未捕获的所有内容。 或者只是在现有的捕获块下面添加一个捕获块,然后查看该捕获块是否捕获了它。
尝试使用CvException而不是Exception
道格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.