小编Fro*_*art的帖子

如何正确地在Python中获取异常消息

从Python中的标准库组件中获取异常消息的最佳方法是什么?

我注意到在某些情况下你可以通过message字段得到它:

try:
  pass
except Exception as ex:
  print(ex.message)
Run Code Online (Sandbox Code Playgroud)

但在某些情况下(例如,在套接字错误的情况下)你必须做这样的事情:

try:
  pass
except socket.error as ex:
  print(ex)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何标准方法可以涵盖大部分情况?

python exception-handling exception

66
推荐指数
4
解决办法
8万
查看次数

我可以通过Swift中的NSURLSession以某种方式执行同步HTTP请求

我可以通过NSURLSessionSwift 以某种方式执行同步HTTP请求吗?

我可以通过以下代码执行异步请求:

if let url = NSURL(string: "https://2ch.hk/b/threads.json") {
            let task = NSURLSession.sharedSession().dataTaskWithURL(url) {
                (data, response, error) in

                var jsonError: NSError?
                let jsonDict = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &jsonError) as [String: AnyObject]
                if jsonError != nil {
                    return
                }

                // ...
            }
            task.resume()
        }
Run Code Online (Sandbox Code Playgroud)

但同步请求怎么样?

提前致谢.

http nsurl httprequest swift

59
推荐指数
5
解决办法
4万
查看次数

json.loads()容易受到任意代码执行的影响吗?

json.loads从Python的标准json模块容易执行任意代码或其他任何安全问题?

我的应用程序可以从不可信赖的来源接收JSON消息.

python serialization json deserialization

36
推荐指数
1
解决办法
6099
查看次数

是否可以通过const引用返回默认参数的值?

是否可以通过const引用返回默认参数的值,如以下示例所示:

https://coliru.stacked-crooked.com/a/ff76e060a007723b

#include <string>

const std::string& foo(const std::string& s = std::string(""))
{
    return s;
}

int main()
{
    const std::string& s1 = foo();
    std::string s2 = foo();

    const std::string& s3 = foo("s");
    std::string s4 = foo("s");
}
Run Code Online (Sandbox Code Playgroud)

c++ object-lifetime language-lawyer default-arguments reference-binding

27
推荐指数
3
解决办法
662
查看次数

删除Swift中String对象中特定字符后所有字符的更优雅方法是什么

String在Swift中删除对象中特定字符后删除所有字符的更优雅的方法是什么?

假设我有以下字符串:

str.str

我需要从中删除".str".我该怎么做?

提前致谢.

swift

25
推荐指数
5
解决办法
1万
查看次数

变量模板和std :: cout - 构造顺序

看起来我们可以安全地std::cout在具有静态存储持续时间的对象的构造函数中使用对象,如本问题中所述.

但是,我不完全确定在变量模板的情况下我们可以安全地使用它们:

#include <iostream>

template<class T>
T x = T{};

void foo()
{
    class Test
    {
    public:
        Test() { std::cout << "Test::Test\n"; }
    };

    Test t = x<Test>;
}


int main()
{
    std::cout << "main\n";
}
Run Code Online (Sandbox Code Playgroud)

这段代码在clang(实例)崩溃,我不确定它是否是一个bug.

c++ c++11 c++14 c++17

23
推荐指数
1
解决办法
507
查看次数

__func__外部函数定义

如果我们__func__在C(C99/C11)和C++中的函数外部使用预定义变量会发生什么?

#include <stdio.h>

const char* str = __func__;

int main(void)
{
   printf("%s", str);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

gcc 4.7.2只发出警告(-Wall -W -pedantic启用)并且不打印任何内容.

标准没有明确说明任何事情:

ISO/IEC 14882:2011

8.4.1一般[dcl.fct.def.general]

8函数本地预定义变量__func__定义为static const char __func__[] = "function-name"; 已提供表单定义,其中function-name是实现定义的字符串.未指定此变量的地址是否与程序中任何其他对象的地址不同.

ISO/IEC 9899:2011

6.4.2.2预定义标识符

1标识符__func__应由翻译者隐式声明,如同紧接在每个函数定义的左大括号之后,声明static const char __func__[] = "function-name"; 出现,其中function-name是词法封闭函数的名称.

UB?错误?或者是其他东西?

c c++ c99 c++11 c11

21
推荐指数
2
解决办法
1231
查看次数

std :: ios_base :: ate和std :: ios_base :: trunc

什么的点std::ios_base::ate(比其他std::ios_base::app,例如)和std::ios_base::trunc(比其他std::ios_base::out,例如)?

我应该更喜欢写std::ios_base::smth而不是std::ios::smth

c++

20
推荐指数
1
解决办法
2万
查看次数

std :: function构造函数和nullptr

为什么以下代码打印"0"作为输出?

#include <functional>
#include <iostream>

int main()
{
    typedef void (*fp_t)();

    fp_t fp = nullptr;

    std::function<void()> f = fp;
    std::cout << (f == nullptr) << '\n';
}
Run Code Online (Sandbox Code Playgroud)

我用gcc 4.7.2和MSVC-11.0测试了它.

我认为它应该打印"1",因为标准的以下引用:

ISO/IEC 14882:2011

20.8.11.2.1 function construct/copy/destroy [func.wrap.func.con]

template<class F> function(F f);
template<class F, class A> function(allocator_arg_t, const A& a, F f);

...

8 后置条件: !*this如果满足以下任何条件: - fNULL 函数指针.- fNULL指向成员的指针.- F是函数类模板的实例,和!f

c++ c++11

18
推荐指数
1
解决办法
6807
查看次数

是否需要使用thead,tbody和tfoot标签?

我应该真正使用thead,tbody而且tfoot每次我用一个时间标记table的标签?它是否需要标准?

html html-table

17
推荐指数
3
解决办法
8002
查看次数