我知道如何创建基本的自定义检查异常,但我希望能够创建检查以下内容的异常:
所以我有以下内容:
package asl.exceptions;
public class QueueDoesNotExistException extends Exception {
public QueueDoesNotExistException(){
}
}
我不知道如何处理这个问题,我找不到任何资源,或者我找错了地方?
我读到了这个: https://docs.oracle.com/javase/tutorial/jdbc/basics/sqlexception.html
但是dint发现它很有用。
答案 0 :(得分:0)
首先需要捕获JDBC驱动程序抛出的特定于DB的异常。然后你可以将它包装在你的异常中并进一步传播。 但异常驱动的逻辑很少是一个好的设计。
答案 1 :(得分:0)
您永远不应让流程到达客户尝试从不存在的队列中访问消息的程度。您在工作流中首先检查队列是否存在,并在例外情况下中止工作流,而不对队列中的消息进行第二次查询。
答案 2 :(得分:0)
根据评论,您似乎正在尝试验证查询本身,而不是确保它无法返回无效数据。显然,您还希望区分由于未在DB中记录指定队列而返回零行的查询,以及返回零行的查询,因为该队列中根本没有可用消息。我怀疑这些追求是否有用,但如果你坚持,那么这就是你可以采取的方法:
Connection
未处于自动提交模式(connection.setAutoCommit(false)
)queue_table
中选择指定的队列。如果失败,则回滚连接的事务并抛出您选择的异常。如果这看似简单或不合理,或者其他什么,我道歉。