在 Eclipse 中访问 ResourceException?
Accessing ResourceException in Eclipse?
我正在 Eclipse 插件中执行某些操作,该插件抛出 ResourceException。我反过来需要知道所涉及资源的路径是什么。
我可以通过 ((ResourceStatus) caughtException.getStatus()).getPath()
执行此操作,但是我会收到 Discouraged access: The type 'ResourceException' is not API
的警告(ResourceStatus
的警告相同)。我应该忽略警告,还是有更好的方法让我找到路径?我只是担心这以后可能会改变。
技术上我可以从异常的消息中提取路径,但这感觉很恶心并且从人类可呈现的字符串中抓取数据还算幸运:-/
ResourceException
extends CoreException
这是官方 API 的一部分,所以你可以抓住它。
ResourceStatus
实现了 IResourceStatus
,这又是官方的 API。
所以像这样:
catch (CoreException ex) {
IStatus status = ex.getStatus();
if (status instanceof IResourceStatus) {
IPath path = ((IResourceStatus)status).getPath();
....
}
}
IResourceStatus
还包含了 IStatus.getCode
returns 资源异常的错误代码的定义。
我正在 Eclipse 插件中执行某些操作,该插件抛出 ResourceException。我反过来需要知道所涉及资源的路径是什么。
我可以通过 ((ResourceStatus) caughtException.getStatus()).getPath()
执行此操作,但是我会收到 Discouraged access: The type 'ResourceException' is not API
的警告(ResourceStatus
的警告相同)。我应该忽略警告,还是有更好的方法让我找到路径?我只是担心这以后可能会改变。
技术上我可以从异常的消息中提取路径,但这感觉很恶心并且从人类可呈现的字符串中抓取数据还算幸运:-/
ResourceException
extends CoreException
这是官方 API 的一部分,所以你可以抓住它。
ResourceStatus
实现了 IResourceStatus
,这又是官方的 API。
所以像这样:
catch (CoreException ex) {
IStatus status = ex.getStatus();
if (status instanceof IResourceStatus) {
IPath path = ((IResourceStatus)status).getPath();
....
}
}
IResourceStatus
还包含了 IStatus.getCode
returns 资源异常的错误代码的定义。