我正在尝试编写一个基于浏览器的医学图像查看器,并使用XTK库来完成繁重的工作。当一个文件没有正确加载(任何原因),我想让用户知道一个弹出消息(例如说"文件无法加载")。据我所知,所有的错误处理/抛出都发生在loader.js或parser.js文件的深处。
更具体地说,当我下载这个文件并尝试用slicdrop加载它时,我在控制台中得到以下错误:Uncaught Error: invalid file signature:
这个错误在gunzip.js中被抛出。在其他时候,我有:
Uncaught Error: Loading failed:
在loader.js中被抛出。
有没有人知道我如何去捕捉或传递这些错误更高的链(即在JavaScript代码像XTK教程13?)。我尝试了以下方法:
try
sliceX.render();
catch(err)
console.log('ERROR');
但是这并没有捕获任何错误(我想这是由于文件加载的异步性质)。
X.renderer有一个onShowtime函数,当所有加载完成时调用。我会想象一个类似的函数,如onLoadError或其他loadingError事件?
我能想到的一个解决方案是添加类似下面代码的东西,在这里我可以查询错误消息,看看它们是否与错误文件加载引发的特定错误相匹配:
<script type="text/javascript">
window.onerror = function (errorMsg, url, lineNumber) {
if(errowMsg == 'invalid file signature')
alert(errorMsg);
};
</script>
感觉很粗糙…?如果能听听别人的意见就太好了
欢呼戴夫