Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin Studio中的奇怪异常堆栈跟踪_C#_Ios_Xamarin_Xamarin Studio - Fatal编程技术网

C# Xamarin Studio中的奇怪异常堆栈跟踪

C# Xamarin Studio中的奇怪异常堆栈跟踪,c#,ios,xamarin,xamarin-studio,C#,Ios,Xamarin,Xamarin Studio,获取下一个奇怪的Xamarin Studio行为: 我在某个类的特定行中抛出硬编码异常 结果如下: catch exception always in Main class,stack trace中没有我的特定行方法OpenRelatedView()似乎是从非UI线程调用的,因为您在其中使用的是InvokeOnMainThread()。所以我假设您正在使用Task.Run()调用它。所有异步代码都将隐式包装到try-catch中 您必须捕获并处理此异常。每个任务对象都有一个异常,该异常将包含异

获取下一个奇怪的Xamarin Studio行为: 我在某个类的特定行中抛出硬编码异常

结果如下:
catch exception always in Main class,stack trace中没有我的特定行

方法
OpenRelatedView()
似乎是从非UI线程调用的,因为您在其中使用的是
InvokeOnMainThread()
。所以我假设您正在使用
Task.Run()
调用它。所有异步代码都将隐式包装到try-catch中

您必须捕获并处理此异常。每个
任务
对象都有一个
异常
,该异常将包含异步执行期间发生的所有异常。如果正确使用
wait
,这些异常将被取消包装。您的方法具有
void
返回类型,因此无法等待。因此,异常将保持未被发现,直到有人处理它。在某些平台上(例如windows Phone),您永远不会注意到出现了问题

然而,对于Xamarin.iOS,在应用程序根级别有一个处理所有未捕获异常的处理程序,这就是为什么您会在那里看到异常


Steven Clery在任务和异步编码方面有很多优点。

方法
OpenRelatedView()
似乎是从非UI线程调用的,因为您在其中使用的是
InvokeOnMainThread()
。所以我假设您正在使用
Task.Run()
调用它。所有异步代码都将隐式包装到try-catch中

您必须捕获并处理此异常。每个
任务
对象都有一个
异常
,该异常将包含异步执行期间发生的所有异常。如果正确使用
wait
,这些异常将被取消包装。您的方法具有
void
返回类型,因此无法等待。因此,异常将保持未被发现,直到有人处理它。在某些平台上(例如windows Phone),您永远不会注意到出现了问题

然而,对于Xamarin.iOS,在应用程序根级别有一个处理所有未捕获异常的处理程序,这就是为什么您会在那里看到异常

Steven Clery在任务和异步编码方面有很多优点