我有一个全球异常处理程序,在之前的iOS版本中运行良好。但我需要更新我的应用程序,并使iOS 10兼容。我不确定Apple是否有任何改变。
这是我的全局事件处理程序
AppDomain.CurrentDomain.UnhandledException += (sender, args) => InvokeOnMainThread (new Action (() => {
CommonTableViewController.HideLoadingScreen2 ();
HideLoadingScreen();
var exception = ((Exception)args.ExceptionObject);
string message="";
if(exception.InnerException!=null)
message = exception.Message + Environment.NewLine+ exception.InnerException.Message;
else
message = exception.Message;
AlertUtil.CreateMessage ("General_Error_Message".t (), message);
}));
我在登录控制视图中分配此事件。然后,如果我没有抓住,发生的异常,我在这里得到了这个例外 UIApplication.Main(args,null,“AppDelegate”);
然后应用程序崩溃..我不知道为什么这个异常处理程序不再捕获此异常。
我试图在相关的控制视图中创建一个异常处理程序,但这一次,当我加载控制视图时,应用程序崩溃。
如我所见,有一次必须足够。我不想抓住所有例外情况。因为我已经建立了我的逻辑。
所以,我的问题是UnhandledException有什么区别吗?我的方法似乎不再那么有效了。因为当我也尝试在登录视图控制器中做同样的事情时,我遇到了同样的问题。但我放了一个尝试导管。所以现在我不想把尝试捕获到处都是。