android - 为什么 Xamarin 不在另一个线程中抛出异常?

标签 android ios multithreading exception xamarin

我正在使用 Xamarin Framework 开发移动应用程序。 今天我试图在另一个线程中抛出异常,如下所示:

public class ExceptionInAnotherThread
{
    public void Throw()
    {
        Task.Factory.StartNew(() =>
        {
            throw new Exception();
        });
    }
}

然后在 Android 上的 MainActivity.OnCreate 和 iOS 上的 MainViewController.ViewDidLoad 中运行这段代码。没有异常,应用程序运行正常。但在控制台应用程序 (Windows) 中异常调用正常。是否有任何解决方案可以在另一个线程中抛出异常?

问候,马克斯。

最佳答案

您需要等待任务。将您的代码更改为:

public class ExceptionInAnotherThread
{
    public async void Throw()
    {
        await Task.Factory.StartNew(() =>
        {
            throw new Exception();
        });
    }
}

关于android - 为什么 Xamarin 不在另一个线程中抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27653898/

相关文章:

android - (动态)多个微调器州/市

c++ - 作为 .dll 的一部分运行 .exe 的 main()

python - Python 中每个线程使用 Numba 并行时间

ios - Xcode 4 为什么我在单击 MainStoryBoard.storyboard : seems like a bug 时看到 XML

ios - UICollectionView 数据源方法未被调用,但正在初始化中设置

c++ - 删除 std::thread 指针引发异常 "libc++abi.dylib: terminating"

android facebook post api 不工作

android - 如何获取 HTTPResponse 的 URL

android - 由于 java 不正确,无法构建 android

当 plist 文件受表单例份验证保护时,iOS 无线安装失败