通用伴侣未应用

时间:2019-02-26 12:42:23

标签: scala collections exception-handling

在类GenericCompanion中应用的方法的缺少参数列表只有在需要函数类型时,才会将未应用的方法转换为函数。您可以通过编写apply _或apply(_)而不是apply来明确表示此转换。

class ValidationException[A](

  validatedObject: A,

  message: String,

  errors: Set[ValidationError]

)


case class ValidationError(key: String, message: String)


throw new ValidationException(request.price,"message", Set[ValidationError(String,String)])

2 个答案:

答案 0 :(得分:1)

此代码有两个直接的问题:

    如果您要将
  1. ValidationException用作例外,则需要扩展Throwable

  2. 最后一行上errors的值需要固定。它应该看起来像这样:

    throw new ValidationException(..., Set(ValidationError("key", "string")))
    

请注意,我已将[]替换为(),并将字符串值放在ValidationException的构造函数中,而不是String类型。

但是,这两个都不会产生您提到的错误,因此,在此代码片段中,尚有很多不明显的事情。

答案 1 :(得分:0)

Set.apply(ValidationError(String,String))