小编Cic*_*ada的帖子

关于使用noexcept覆盖throw()函数,C++标准有何说法?

以下似乎是在我试过的几个编译器上编译的:

class A
{
public:
    virtual void foo() throw() = 0;
};

class B : public A
{
public:
    virtual void foo() noexcept override { }
};
Run Code Online (Sandbox Code Playgroud)

似乎可以使用较新的noexcept规范覆盖throw()函数.我也尝试了相反的方法(用throw()覆盖noexcept)它似乎工作.这是为什么?这是未定义的行为还是允许的?

请注意,代码生成受noexcept vs throw()的影响.它们也没有相同的行为,因为noexcept调用与throw()不同的终止函数.一个理想的答案将说明行为的差异以及在这种情况下它们为何或不重要.

c++ c++11

11
推荐指数
1
解决办法
1029
查看次数

切换到IPV6时HttpClient抛出异常 - 从iOS Store拒绝

我正在研究一个Xamarin项目的奇怪问题,我很难过......

我使用HTTPClient来发出异步请求.但是,我的应用程序因未能满足Apple的IPV6要求而被应用商店拒绝.也就是说,当通过IPV6连接时,我使用HTTPClient发出的请求失败.奇怪的是,只有当应用程序在IPV4网络上启动然后切换到IPV6网络时才会失败.如果我在连接到IPV6网络时重新启动应用程序,它会成功!此外,如果我启动连接到IPV6的应用程序然后切换到IPV4网络,它也会成功.它仅在IPV4中启动然后切换到IPV6时失败.

这非常奇怪 - 就像HttpClient缓存一样,但我们为每个请求创建一个新的客户端.我没有使用IP地址 - 只是一个地址,而且,正如我所提到的,当应用程序开始连接到仅IPV6网络时,它可以正常工作.它只是从IPV4到IPV6的转换,这似乎导致了这个问题.

PCL中存在的代码:

var client = new HttpClient();
var urlToCall = new Uri("https://www.something.com/someapi/v1");
// Add some headers
...
response = client.GetAsync(urlToCall);
Run Code Online (Sandbox Code Playgroud)

并且堆栈跟踪:

Trace.Message": "Error: ConnectFailure (Network is unreachable)
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00065] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/HttpWebRequest.cs:946 
at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (IAsyncResult iar, System.Func`2 endFunction, System.Action`1 endAction, System.Threading.Tasks.Task`1 promise, Boolean requiresSynchronization) <0x10019c730 + 0x0005b> in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3051/5f11db87/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task …
Run Code Online (Sandbox Code Playgroud)

c# ipv6 xamarin.ios xamarin xamarin.forms

3
推荐指数
1
解决办法
2125
查看次数

标签 统计

c# ×1

c++ ×1

c++11 ×1

ipv6 ×1

xamarin ×1

xamarin.forms ×1

xamarin.ios ×1