问题标签 [throws]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 我可以对 Javadoc 中的同一个异常使用多个 @throws 标签吗?
@throws
如果我的应用程序由于多种原因引发相同的异常,我可以使用多个javadoc 标记吗?例如:
JavaDoc标准是否禁止它?
java - 为什么 OSGI BundleActivator 方法被声明为“抛出异常”?
OSGI BundleActivatorstart
的和方法都用. 同时,Joshua Bloch 在他的《Effective Java, Second Edition, Item 62》一书中说stop
throws Exception
永远不要声明一个方法“抛出异常”
那么BundleActivator
在这种情况下,这是一个糟糕的设计决策还是这种普遍性是合理的,为什么?
java - Java - 抛出异常与捕获和重新抛出异常之间的区别
我对捕获和重新抛出异常而不是首先抛出异常的好处感到困惑。
例如
相对:
这是为了保留错误消息的堆栈跟踪吗?我尝试设置一个示例,但没有看到两者之间有任何不同的输出。
谢谢您的帮助。
java - 如何定义一个抛出通用异常类型的接口?
我想定义一个接口,比如
在实现过程中,selfDefinedException 会有所不同。(selfDefinedException 作为一个通用的 undefined 现在)有没有办法做到这一点?
谢谢
java - 有异常的接口扩展无异常的接口
带异常的接口无异常扩展接口
干草,
我有一个带有唯一字段电子邮件的用户表,用作用户名。现在,当我使用相同的信息两次调用 dao.create 方法时,我得到一个 org.springframework.dao.DataIntegrityViolationException(重复条目......)。这让我明白了,我希望我的 userDao.create(o) 抛出一个已检查的异常。现在我遇到了问题,我的 UserDao-Interface 扩展了 GenericDao-Interface,它已经定义了没有 throw 子句的 create 方法。
由于扩展接口不能引发比它正在扩展的接口更多的异常,因此此代码无法编译:
(为什么这是原因,请参阅:Java 接口扩展问题(来自 cletus 的回答))
现在我的问题是:解决这个问题的最佳实践是什么?
非常感谢您提前回答=)
PS:到目前为止,我想出了几个答案,这并不能真正让我满意。一方面,我可以让 GenericDao 抛出一个检查异常,但由于大约 99% 的表没有唯一字段(除了 pk),这是不可接受的。使 UserExistsException 成为运行时异常并记录它也不是很好,因为我想强制该方法的用户捕获异常并将其报告给最终用户。创建一个抛出 Exeption 的新 userDao.createUser()-method 并使用已经存在的 userDao.create()-method 抛出 UnsupportedOperationException 对我来说是迄今为止我想到的所有解决方案中最整洁的。我仍然很想知道,解决这个问题的正确方法是什么?
java - 有没有办法让 Runnable 的 run() 抛出异常?
我在实现Runnable的类的run()中调用的方法被设计为抛出异常。
但是 Java 编译器不允许我这样做,并建议我用 try/catch 包围它。
问题是,通过用 try/catch 包围它,我使特定 的 run()无用。我确实想抛出那个异常。
如果我throws
为run()本身指定,编译器会抱怨Exception is not compatible with throws clause in Runnable.run()
.
通常我完全可以不让 run()抛出异常。但我有一个独特的情况,我必须拥有该功能。
如何解决此限制?
java - 为什么调用函数时需要“抛出异常”?
为什么编译器会报告方法show2()
、、show3()
和main()
有
未报告的异常 必须捕获或声明要抛出的异常
当我throws Exception
从这些方法中删除?
java - 抛出 Java 异常
当一个方法抛出异常时,我们是否需要在方法内部有一个 try 块?
例如,
是否需要 try 块?或者,该方法是否能够在没有它的情况下抛出 SomeException :
当我们没有用throw显式抛出 SomeException时就是这种情况。
java - Java 检查异常不在函数的抛出规范中?
通常,Java 编译器确认所有抛出的检查异常都在 throw 规范中。当本机函数抛出不在函数抛出规范列表中的 java 检查异常时,是否会发生任何特殊情况,或者抛出规范列表是否在运行时被简单地忽略?
C++
爪哇
(C++ 函数名称可能会被破坏。loadLibrary 也应该在 try catch 中。不要在意,我不相信它与问题有关。代码中可能还有其他错误,但它们可能不相关任何一个。)
java - 如果没有抛出异常指示操作成功,则返回布尔值 true?
即使抛出所有可能的异常,方法(远程方法调用)是否应该返回true
指示操作成功执行的布尔值?
例子:
在我的 java 应用程序中有许多 CRUD 远程方法调用,我捕获所有可能的异常并向调用客户端抛出自定义异常。
我现在应该返回 void 还是布尔值,因为 Exceptions 已经隐式指示操作的成功或失败?