标签: assert

为什么 dart 中断言功能被禁用?

import 'dart:io';
main() {
  print("Enter an even number : ");
  int evenNo = int.parse(stdin.readLineSync());
  assert(evenNo % 2 == 0, 'wrong input');
  print("You have entered : $evenNo");
}
Run Code Online (Sandbox Code Playgroud)

为了让这段代码正常工作,我必须使用“--enable-asserts”标签运行 dart 文件,并且在执行断言函数之前不传递“--enable-asserts”标签。为什么这个功能被禁用了?

assert dart

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

MFC based C++ program assert failed

I wrote a MFC based C++ program, while the release version runs smoothly on the target machine, the debug version can not. it appears assert failed as the following screenshot shows:

在目标机器上运行调试版本而发布版本正常时断言消息

I need this debug version to run on the target machine, so I can remote debug it by attaching to it from my developing machine.

I use the new version of dependency walker (https://github.com/lucasg/Dependencies), but it gives same result as the release one (no red alart), even …

c++ debugging mfc assert target-platform

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

Java断言不打印其"原因"

当我使用"java -ea A"运行以下代码时,断言更正会触发,但我没有提到第二个参数.

public class A {
    public A() {
        assert 1==2, "We have a problem";
    }

    public static void main(String[] args) {
        A a = new A();
    }
}
Run Code Online (Sandbox Code Playgroud)

似乎无法在任何地方找到答案,我错过了什么?

java assert

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

.net断言显示条件失败

好吧,我已经习惯了旧的C断言,当它们失败时,它们会输出它们失败的条件,以及它所在的线路.(与预处理器一起使用).

现在我用F#编程(一种.net语言),代码充满了断言.(尝试防御性地编程).我的资产显示了一个带调用堆栈的弹出窗口.根据文档,也可以传递断言字符串,以便在失败时显示.所以我可以通过我的条件的字符串副本.例如:

assert (x=true, "x=true")
Run Code Online (Sandbox Code Playgroud)

但这违反了复制(避免)委托人.

如果我后来决定改变我想要断言的东西.(也许我意识到当我应该断言它是真的时我声称某些东西是假的)然后我必须在两个地方更改代码,否则消息将与我实际检查的内容不匹配.如果我忘记了事情可能会让人感到困惑.

这通常是如何处理的?

.net f# assert visual-studio-2010

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

Java - 在断言中调用函数时无法进入函数

因此,我在调试Netbeans Java应用程序时注意到在断言函数中使用函数调用时,您无法在该函数中触发断点或进入该函数.

起初我认为它必须与使用重写函数和我被覆盖的函数没有被调用有关,但我确认这不是正在发生的事情.它仍然被调用,但无法进入.

这是我尝试过的片段:

public class Example
{
    public static boolean blah()
    {
        System.out.println("Executing");    //**Breakpoint here
        return true;
    }

    public static void main(String[] args)
    {
        assert(blah());    //Cannot step into or hit breakpoint on this line.
        blah();            //Can here.
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法为什么这不起作用?

java assert breakpoints skip step-into

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

在String []上执行assertEquals时的junit.framework.AssertionFailedError

我有以下类返回字符串列表.

public static String[] parseLinks(String text) {
    String[] result = new String[] {"",""};
            return result;
    }
Run Code Online (Sandbox Code Playgroud)

但是当我对结果做一个assertEquals时,

    assertEquals(new String[]{"",""}, parseLinks(""));
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Exception in thread "main" junit.framework.AssertionFailedError: expected: <[Ljava.lang.String;@2352544e> but was:<[Ljava.lang.String;@721cdeff>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:86)
at junit.framework.TestCase.assertEquals(TestCase.java:253)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?如果我必须提供任何其他信息,请与我们联系.

java junit assert

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

我的断言在python中的这段代码失败了

def test_string_membership():
    assert False == 'c' in 'apple'
    assert True == 'a' in 'apple'
    assert True == 'app' in 'apple'
Run Code Online (Sandbox Code Playgroud)

ps: - 我是python的初学者,无法找出错误.当我运行代码时,我的断言失败了.

python assert

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

QML的"严格"模式?

Qt的QML语言是否提供任何类型的"严格"模式?特别是,我喜欢有两个功能:

  • 应用程序崩溃引用undefinednull(例如,foo = bar何时foo是现有属性但bar未定义,foo.bar何时foo为null)
  • "hard"断言(该console.assert功能不会使应用程序崩溃).

qt assert qml

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

为什么eval("assert(True)")在python中失败?

看这个:

>>> eval("assert(True)")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1
    assert(True)
         ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

评估像这样的其他功能工作正常:

>>> eval("str(5)")
'5'
Run Code Online (Sandbox Code Playgroud)

那么为什么evaling断言失败?

python assert eval

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

什么是对具有副作用的函数的返回值断言的Rust方式?

在C中,断言可以通过定义消失NDEBUG,因此我们倾向于编写如下内容:

const bool ok = my_function();
assert(ok);
Run Code Online (Sandbox Code Playgroud)

但是,看起来Rust中的断言始终存在于每种类型的构建中,无论配置如何,因此更好的方法是:

let ok = my_function();
assert!(ok);
Run Code Online (Sandbox Code Playgroud)

要么:

assert!(my_function());
Run Code Online (Sandbox Code Playgroud)

debugging assert rust

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

标签 统计

assert ×10

java ×3

debugging ×2

python ×2

.net ×1

breakpoints ×1

c++ ×1

dart ×1

eval ×1

f# ×1

junit ×1

mfc ×1

qml ×1

qt ×1

rust ×1

skip ×1

step-into ×1

target-platform ×1

visual-studio-2010 ×1