1. 程式人生 > >Android 利用異常獲取呼叫堆疊資訊

Android 利用異常獲取呼叫堆疊資訊

當我們閱讀別人的程式碼的時候,不知道呼叫的資訊時可以通過主動丟擲異常資訊來獲取呼叫堆疊資訊,而且不影響程式的正常執行;

方法一:

利用 Log.getStackTraceString()方法輸出堆疊資訊;

Log.e(TAG, Log.getStackTraceString(new Throwable()));

Log.i 、Log.d、Log.v、Log.w、Log.e 都可以,沒有什麼影響;

方法二:

利用Exception的printStackTrace()來顯示堆疊資訊;

Exception e = new Exception("get task info");
		e.printStackTrace();

方法三:

獲取當前執行緒的堆疊,並逐行列印

		for (StackTraceElement i : Thread.currentThread().getStackTrace()) {
			Log.e(TAG, i.toString());
		}


方法四:

利用RuntimeException 異常來獲取

		RuntimeException re = new RuntimeException();
		re.fillInStackTrace();
		Log.e(TAG, "stackTrace", re);

方法五:

利用你所知道的異常來獲取,大部分異常都可以使用

		try {
			throw new IOException();
		} catch (IOException e) {
			Log.e(TAG, Log.getStackTraceString(e));
		}