似乎iOS中的異常stacktrace只包含方法名稱或存在錯誤。以下是我在JSContext中處理異常的代碼。iOS Javascript核心異常詳細堆棧跟蹤信息
ontext.exceptionHandler = { (ctx: JSContext!, value: JSValue!) in
// type of String
let stacktrace = value.objectForKeyedSubscript("stack").toString()
// type of Number
let lineNumber = value.objectForKeyedSubscript("line")
// type of Number
let column = value.objectForKeyedSubscript("column")
let moreInfo = "in method \(stacktrace)Line number in file: \(lineNumber), column: \(column)"
Logger.error("JS ERROR: \(value) \(moreInfo)")
}
而且我得到了日誌像下面
ERROR : JSContextRenderer.swift:308 : setupContext : JS ERROR: Error in method clearBackground
Line number in file: 162, column: 12"
注有新線「clearBackground」的名字之後,我覺得有可能更多的信息那裏。
任何有類似經驗的人都可以證實嗎?任何幫助表示讚賞。謝謝。
這些按鍵就像'stack','line'或'column'記錄在任何地方嗎?你怎麼知道存在的? – igrek
我不記得這是否記錄在任何地方。我不記得我是如何計算出來的。但由於它是一個JSValue,它可以是一個JS對象或任何其他JS類型,也許我只是打印出來看看它包含了什麼。 – Zhao