scala - IntelliJ 在惰性 vals 中使用 `throw` 使代码变灰 - 这是一个错误吗?
问题描述
IntelliJ 将此代码显示为灰色。我认为是因为它看到throw
并认为代码无法访问。但是,它是可访问的,因为它throw
位于惰性 val 中:
lazy val handleMissing = {
throw new IllegalStateException(s"Unbound type var $name")
}
map.getOrElse(name, handleMissing)
解决方案
这是一个错误:youtrack.jetbrains.com/issue/SCL-16859谢谢@IlyaKlyuchnikov
一种解决方法是将代码提取到单独的函数中。
推荐阅读
- php - 在 Wordpress 帖子中间添加自定义内容
- ios - 填充tableview Swift 4时,日期组件与预期不匹配
- xamarin.forms - Xamarin.Forms 中 MemoryStream 中的图像为空
- android - 如何设置相对布局的布局参数?
- azure-devops - 如何在不合并/樱桃采摘的情况下将变更集应用到另一个分支?
- joomla3.0 - 无用户名和密码注册还是不注册?
- python - 如何避免在 matplotlib 中调用 latex(输出到 pgf)
- docker - 通过 docker 网络连接到 web 服务
- python - django递归模板渲染期间的运行时错误
- php - 通过 REST API (php) 在 Jira 中的受让人