Ios 点击NSSetUncaughtExceptionHandler时使用CoreGraphics在屏幕上绘制
当调用Ios 点击NSSetUncaughtExceptionHandler时使用CoreGraphics在屏幕上绘制,ios,objective-c,exception,core-graphics,Ios,Objective C,Exception,Core Graphics,当调用NSSetUncaughtExceptionHandler时,我试图在屏幕上画一些简单的东西,但什么都没有发生。 是否有其他方法可以捕获异常并在屏幕上快速绘制某些内容 NSSetUncaughtExceptionHandler(&exceptionHandler); void exceptionHandler(NSException *exception) { UIBezierPath *path = [UIBezierPath bezierPath]; [pat
NSSetUncaughtExceptionHandler
时,我试图在屏幕上画一些简单的东西,但什么都没有发生。
是否有其他方法可以捕获异常并在屏幕上快速绘制某些内容
NSSetUncaughtExceptionHandler(&exceptionHandler);
void exceptionHandler(NSException *exception)
{
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(10.0, 10.0)];
[path moveToPoint:CGPointMake(10.0, 10.0)];
[path addLineToPoint:CGPointMake(10.0, 450.0)];
[path addLineToPoint:CGPointMake(310.0, 450.0)];
[path addLineToPoint:CGPointMake(310.0, 10.0)];
[path addLineToPoint:CGPointMake(10.0, 10.0)];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [path CGPath];
shapeLayer.strokeColor = [[UIColor blueColor] CGColor];
shapeLayer.lineWidth = 3.0;
shapeLayer.fillColor = [[UIColor clearColor] CGColor];
[APP_DELEGATE_WINDOW.rootViewController.view.layer addSublayer:shapeLayer];
[APP_DELEGATE_WINDOW makeKeyAndVisible];
}
我不确定
NSSetUncaughtExceptionHandler
是否是在屏幕上绘制内容的好地方
设置可在其中执行的顶级错误处理函数
程序终止前的最后一分钟日志记录
大多数撞车记者都会仔细地记录这一痕迹,尽量不“碰”任何东西
如果你真的想画一些东西(什么?),你应该首先捕捉一个特殊的异常。只是没有任何未捕获的异常。我认为Rivera是正确的,关于
NSSetUncaughtExceptionHandler
。也许你需要写:[path fill]代码>
附言:很抱歉,我写在这里,评论被禁用,名声很小……就像Rivera说的,在这个阶段你将无法拯救这个应用程序,但是如果你真的需要在这里画一些东西,你可能会启动另一个过程(你必须设计)仅显示此图像。您确定执行正在进入处理程序吗?如果在主线程上发生异常,它是否有效?哦,你是否肯定APP\u DELEGATE\u WINDOW.rootViewController.view.layer
不是nil?”…未捕获的异常处理程序总是导致程序退出…”因此在屏幕上添加形状似乎没有意义。你可以在这里读剩下的。也许可以将形状保存到文件系统上的映像中。是的,似乎总是导致退出。也许可以通过在自己的runloop tho中执行您正在尝试执行的操作来解决这个问题。我确信在我进行一些日志记录时,执行会进入处理程序,并且我确信“APP\u DELEGATE\u WINDOW.rootViewController.view.layer”不是零,因为我在应用程序的不同部分使用它。