我正在使用GLUTesselator并且每隔一段时间EndContour()失败所以我这样做了:
try
{
PolygonTesselator.End_Contour();
}
catch (int e)
{
renderShape = false;
return;
}
Run Code Online (Sandbox Code Playgroud)
为什么它仍会崩溃,它应该执行捕获代码吗?我怎么能解决这个问题?
谢谢
Ian*_*anH 10
PolygonTesselator.End_Contour(); 崩溃或抛出异常?
请注意,真正的"崩溃"(段错误,非法指令等)不会在C++意义上引发异常.
在这些情况下,CPU会触发中断 - 这有时也称为异常,但与C++异常无关.
在C++中,您运行的是真正的CPU - 而不是像Java中那样的虚拟机,其中每次内存违规都会导致语言执行,如NullPointerException或ArrayOutOfBoundsException.
在C/C++中,CPU异常/中断/陷阱由操作系统处理并作为"信号"转发到进程.您可以捕获信号,但通常这对崩溃没有帮助(SIGSEG,SIGILL,SIGFPU等).
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |