我有一個有趣的問題。我的代碼塊在下面給出。問題是:日誌文件不包含「準備睡覺..」行,但它包含「備份線程被中斷...」行。 我的問題:是否有可能在沒有進入try塊的情況下捕獲異常?在沒有進入try塊的情況下捕獲異常?
long sleepTime = runtime.getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
try {
log("Getting ready to sleep...(" + sleepTime + ")");
Thread.sleep(sleepTime);
Database db = new Database();
log(db.performDatabaseBackup());
// Set it to run the next day.
runtime.add(Calendar.DATE, 1);
} catch (InterruptedException ie) {
log("Backup thread was interrupted...");
}
編輯:登錄方法
private void log(String message) {
Logger.debug(this, message);
}
和Logger.debug
public static void debug(
Object obj,
String message){
debug(obj.getClass(), message);
}
public static void debug(
String className,
String message)
{
try
{
Class inputClass = Class.forName(className);
debug(inputClass, message);
}
catch (ClassNotFoundException e)
{
debug((Class)null, message);
}
}
簡答題:沒有。那裏一定有別的東西在工作。我建議嘗試一個遠程調試器。 – Thor84no
向我們展示'log()'方法。 – NPE