Javascript 从文件中获取nsIX509CertDB importCertsFromFile失败原因?
当我使用Javascript 从文件中获取nsIX509CertDB importCertsFromFile失败原因?,javascript,firefox,firefox-addon,xul,Javascript,Firefox,Firefox Addon,Xul,当我使用nsIX509CertDB接口组件的importCertsFromFile()方法时,任何故障似乎都会引发相同的异常: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIX509CertDB.importCertsFromFile] 有没有办法确定失败的原因 有时,它会显示一个带有原因的警报,如“该证书已安装”。有时它只是在没有任何内置警报的情况下抛出异常,例如选择word文档或任何非=证书文件 cer
nsIX509CertDB
接口组件的importCertsFromFile()
方法时,任何故障似乎都会引发相同的异常:
Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIX509CertDB.importCertsFromFile]
有没有办法确定失败的原因
有时,它会显示一个带有原因的警报,如“该证书已安装”。有时它只是在没有任何内置警报的情况下抛出异常,例如选择word文档或任何非=证书文件
certdb = components.classes[nsX509CertDB].getService(Components.interfaces.nsIX509CertDB);
try{
certdb.importCertsFromFile(null, fp.file, nsIX509Cert.CA_CERT);
alert('The certificate was added succesfully!');
}catch(e){
alert(e);
}
我想确定失败的原因,这样,如果组件在这种情况下还没有错误,我就可以显示正确的错误消息。这是可能的吗?由于XPCOM包装器对NSS和大多数NSS的实现方式,没有比这些异常更详细的错误了。您可以自己看到:被
NS\u ERROR\u FAILURE
返回(通过XPConnect桥在Javascript异常中进行转换)所困扰,但实际上仅此而已。此外,这些问题一开始也不是很详细
因此,大多数情况下都会出现非描述性的
NS\u ERROR\u FAILURE
,如果无法访问文件,则偶尔会在混合中添加一些NS\u ERROR\u FILE.*
异常。因为XPCOM包装器对NSS和大多数NSS的实现方式,没有比这些异常更详细的错误了。您可以自己看到:被NS\u ERROR\u FAILURE
返回(通过XPConnect桥在Javascript异常中进行转换)所困扰,但实际上仅此而已。此外,这些问题一开始也不是很详细
因此,大多数情况下都会出现非描述性的
NS\u ERROR\u FAILURE
,如果文件无法访问,则偶尔会在混合中添加一些NS\u ERROR\u FILE.*
异常。这当然是不幸的。我们所能做的就是说,“出了问题。你可能(或可能没有)收到了原因。如果你没有收到原因,就没有可用的原因。请再试一次。”这当然是不幸的。我们所能做的就是说:“出了问题。您可能(或可能没有)收到了原因。如果您没有收到原因,则没有可用的原因。请重试。”