Q# 聚合异常错误
Q# Aggregate Exception Error
在使用 Q# 编码时,使用以下代码片段我收到聚合异常错误(似乎发生了一个或多个错误)。
此特定代码片段有什么问题,Q# 文档的哪些部分与此问题有关?
代码片段:
// Try initial values
Result[] initials = new Result[] { Result.Zero, Result.One };
foreach (Result initial in initials)
{
BellTest.Run(sim, 1000, initial).Wait();
var res = BellTest.Run(sim, 1000, initial).Result;
var (numZeros, numOnes, agree) = res;
System.Console.WriteLine(
$"Init:{initial,-4} 0s={numZeros,-4} 1s={numOnes,-4} agree={agree,-4}");
}
看看你的 innerException
问题是空引用异常。
调试您的代码并确保没有任何内容为空。
BellTest, sim, intinial or BellTest.Run(sim,1000,intinial)
每次调用 Q#
操作都是异步的,因为在实际硬件上执行也是异步的,因此每次调用 Run
都必须等待执行完成才能执行另一个量子操作。有多种方法可以等待异步 Task
完成,包括使用 Task
.
的 await
keyword, the Wait()
, or retrieving the Result
在这种特殊情况下,您调用 BellTest.Run
两次,第二次不会等待第一次完成。如果您将 Wait()
添加到第一个 Run
,Exeption 将消失,例如:
BellTest.Run(sim, 1000, initial).Wait();
在使用 Q# 编码时,使用以下代码片段我收到聚合异常错误(似乎发生了一个或多个错误)。
此特定代码片段有什么问题,Q# 文档的哪些部分与此问题有关?
代码片段:
// Try initial values
Result[] initials = new Result[] { Result.Zero, Result.One };
foreach (Result initial in initials)
{
BellTest.Run(sim, 1000, initial).Wait();
var res = BellTest.Run(sim, 1000, initial).Result;
var (numZeros, numOnes, agree) = res;
System.Console.WriteLine(
$"Init:{initial,-4} 0s={numZeros,-4} 1s={numOnes,-4} agree={agree,-4}");
}
看看你的 innerException 问题是空引用异常。 调试您的代码并确保没有任何内容为空。
BellTest, sim, intinial or BellTest.Run(sim,1000,intinial)
每次调用 Q#
操作都是异步的,因为在实际硬件上执行也是异步的,因此每次调用 Run
都必须等待执行完成才能执行另一个量子操作。有多种方法可以等待异步 Task
完成,包括使用 Task
.
await
keyword, the Wait()
, or retrieving the Result
在这种特殊情况下,您调用 BellTest.Run
两次,第二次不会等待第一次完成。如果您将 Wait()
添加到第一个 Run
,Exeption 将消失,例如:
BellTest.Run(sim, 1000, initial).Wait();