通常情况下,如果要抛出异常,那么代码就会完全崩溃,而且你无法做到这一点。
例如,如果我正在设置我的dataSource:
try {
Class.forName("org.neo4j.jdbc.Driver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
this.dataSource.setDriverClassName("org.neo4j.jdbc.Driver");
this.jdbcTemplate = new JdbcTemplate(this.dataSource);
如果抛出此异常,显然我需要整理我的代码。
显然我不应该只打印这个堆栈跟踪,可能更好的做法是弹出异常,提醒用户出现问题,通知管理员,并记录错误。
我的问题是 - 我应该在这做什么?我只是抛出ClassNotFoundException吗?或者我可以将它包装在更通用的“此例外是致命的”例外吗?
答案 0 :(得分:1)
我建议使用assert
语句。 assert
语句的全部目的是查找和标记错误。
在你的特定情况下,我想你可以这样做:
try {
Class.forName("org.neo4j.jdbc.Driver");
} catch (ClassNotFoundException e1) {
assert (false) : "Class org.neo4j.jdbc.Driver doesn't seem to exist. "
+ "Please find the address of the developer of this program, "
+ "knock on his door, and demand your money back.";
}
(完全是个玩笑)