标签: assertions

什么"调试断言失败"意味着如何解决它,c ++?

为什么这个程序在运行时给我一个"Debug Assertion Failed"错误信息

#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "string"
using namespace std;

int conv_ch(char b)
{
    int f;
    f=b;
    b=b+0;
    switch(b)
    {
    case 48:
        f=0;
        break;
    case 49:
        f=1;
        break;
    case 50:
        f=2;
        break;
    case 51:
        f=3;
        break;
    case 52:
        f=4;
        break;
    case 53:
        f=5;
        break;
    case 54:
        f=6;
        break;
    case 55:
        f=7;
        break;
    case 56:
        f=8;
        break;
    case 57:
        f=9;
        break;
    default:
        f=0;
    }
    return f;
} 

class Student
{
public:
    string id;
    size_t id_len;
    string first_name; …
Run Code Online (Sandbox Code Playgroud)

c++ debugging assertions

0
推荐指数
1
解决办法
7万
查看次数

Eiffel 重新定义的函数可以定义自己的断言吗?

我需要知道 Eiffel 中重新定义的函数是否可以定义自己的断言。

eiffel assertions

0
推荐指数
1
解决办法
151
查看次数

确定 Ada 断言失败的原因

如果断言失败,我会得到以下输出:

引发 SYSTEM.ASSERTIONS.ASSERT_FAILURE :Dynamic_Predicate 在 file.adb:36 处失败

我能得到更多细节吗?例如输入是什么,或者堆栈跟踪,或者其他任何可以帮助我确定断言失败原因的东西?

ada assertions ada2012

0
推荐指数
1
解决办法
333
查看次数

断言如何影响Python中的变量赋值?

我在Python 2.7中遇到列表别名或变量赋值的问题.我将向您展示一个最小的例子.有和没有断言两种不同的结果,我不知道断言为什么/如何影响这一点.

不知何故,当我向object_list下面显示的内容添加时,它会覆盖一个属性:

class Object1(object):                                                                                 

    def __init__(self):                                                                                    
        self.object_list = []  

    def add_thing(self, thing):                                                                                          
        # this next line makes all the difference
         assert thing.name not in [thing.name for thing in self.object_list], 'agent id already exists, use another one'
        self.object_list.append(thing)

class Thing(object):

    def __init__(self, name):
        self.name = name

    def __repr__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

这是一个最小的例子:

随着断言

mfd = Object1()
myAgent = Thing('blah')
myAgent_2 = Thing('blew')

mfd.add_thing(myAgent)
mfd.add_thing(myAgent_2)

print mfd.object_list

>> [blah, blah]
Run Code Online (Sandbox Code Playgroud)

没有断言

mfd = Object1()
myAgent = …
Run Code Online (Sandbox Code Playgroud)

python assert list assertions python-2.7

0
推荐指数
1
解决办法
99
查看次数

为什么这个简单的断言在python中失败了?

所以我有一个页面,预计会返回内容或返回django中的403页面

response = self.client.get(...)
print response.status_code
print type(response.status_code)
assert response.status_code is 200
print "WHAT IS GOING ON!?!?!?!"
response = self.client.get(...)
code = response.status_code
print code
print type(code)
assert code is 403
print "hmm"
Run Code Online (Sandbox Code Playgroud)

返回输出:

200
<type 'int'>
WHAT IS GOING ON!?!?!?!
403
<type 'int'>
Run Code Online (Sandbox Code Playgroud)

显然代码失败assert code is 403但我无法想象为什么.我甚至通过更改线路assert 403 is 403和测试通过来检查自己.我是Python和Django的新手,所以我可能会遗漏一些明显的东西.

python django assertions

-1
推荐指数
1
解决办法
88
查看次数

标签 统计

assertions ×5

python ×2

ada ×1

ada2012 ×1

assert ×1

c++ ×1

debugging ×1

django ×1

eiffel ×1

list ×1

python-2.7 ×1