gpt4 book ai didi

ios - 如何在 iOS 中捕获此异常?

转载 作者:行者123 更新时间:2023-12-03 16:09:40 24 4
gpt4 key购买 nike

这是我的代码的一部分:

self.rearPicker = [[UIImagePickerController alloc] init];
self.rearPicker.delegate = self;
self.rearPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.rearPicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.rearPicker.showsCameraControls = NO;
dispatch_async(dispatch_get_main_queue(), ^{
[self presentViewController:self.rearPicker animated:YES completion:^{
// send log to my server.And log's success in sending shows that everything goes pretty well until this line.
@try {
// I think it's this line of code that causes crash on some device. What else can I do to avoid crashes besides @try-@catch.
[self.rearPicker performSelector:@selector(takePicture) withObject:nil afterDelay:3.f];
}
@catch (NSException *exception) {
[self dismissViewControllerAnimated:YES completion:nil];
}
@finally {
// do nothing for now
}

}];
});

//根据我的登录服务器和崩溃日志,在某些设备上我的应用程序可以正常执行
[self.rearPicker performSelector:@selector(takePicture) withObject:nil afterDelay:3.f];

//但在此之后在某处坠毁。崩溃日志有以下两种:
  • *** setObjectForKey: 对象不能为 nil (key: UIImagePickerControllerOriginalImage)
  • *** 相机:查找 mogul 的捕获设备格式时出错

  • //我真的很困惑。我怎样才能捕捉到这两个异常?谢谢你的耐心和善意!

    最佳答案

    在@try 中,您所做的只是调度稍后发生的事情。 @try 不包含稍后发生的事情,只包含执行它的请求。

    相反,您应该分派(dispatch)到您自己的方法,然后在该方法中直接在问题调用(takePicture)周围添加异常处理。请注意,如果该调用执行任何异步操作,那么您将遇到类似的问题。

    一般来说,最好添加断点并找出问题的原因,这样您就可以添加检查来避免这种情况,而不是在它发生后尝试处理它。

    关于ios - 如何在 iOS 中捕获此异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33365922/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com