java - 在三元条件下抛出新的异常

标签 java ternary-operator

<分区>

我有这行代码:

List<Long> list = new ArrayList<>();

if (n < 0) throw new RuntimeException();

if (n == 0) return list;

我想使用三元条件:

return (n < 0) ? (throw new RuntimeException()) : list;

但是我有编译时异常。

最佳答案

您不能在三元子句中抛出异常。两个选项都必须返回一个值,throw new Exception(); 不满足。

解决方案,使用if

关于java - 在三元条件下抛出新的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036183/

相关文章:

c - 三元运算是否在编译时进行?

javascript - 如果 Ramda ifElse 抽象了一个三元运算,那么它是一个有效的模式吗

java - 如何通过该td中的div获取td元素?

java - Spring Hibernate 保存/提交事务而不调用 Save 方法

java - 为什么 Gson 会漂亮地打印到控制台,而不是文件?

javascript三元运算符来增加或减少值

java - 如何更改、覆盖或切断 Tapestry 默认样式?

java - 文件系统到 FTPFile[]?

python - C 和 Python 三元运算符之间的区别

javascript - 将 if/else 合并到一个语句中? (Javascript)