【发布时间】:2015-12-14 17:55:35
【问题描述】:
iOS 中的异常堆栈跟踪似乎只包含方法名称或存在错误。下面是我在 JSContext 中处理异常的代码。
context.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”名称后面有一个新行,我认为那里可能有更多信息。
有类似经历的朋友可以确认一下吗?任何帮助表示赞赏。谢谢。
【问题讨论】:
-
这些键是否记录在任何地方?你是怎么知道那些存在的?
-
我不记得这是否记录在任何地方。我也不记得我是怎么想出来的。但是既然是一个JSValue,那么它可以是一个JS对象,也可以是任何其他的JS类型,也许我只是打印出来看看它包含什么。
标签: swift javascriptcore