如何传播文件加载错误?

时间:2014-08-24 00:12:03

标签: javascript xtk

我试图对基于浏览器的医学影像查看器进行编程,并使用XTK库来完成繁重的工作。如果文件未正确加载(出于多种原因),我想通过弹出消息让用户知道(例如说“无法加载文件'”)。据我所知,所有错误处理/抛出都发生在loader.js或parser.js文件的深处。

更具体地说,当我下载this file并尝试使用Slicedrop加载它时,我在控制台中收到以下错误:

Uncaught Error: invalid file signature:

gunzip.js中抛出此错误。 在其他时候,我有:

Uncaught Error: Loading failed:

在loader.js中抛出。

有没有人知道如何在链中更高的位置捕获或传递这些错误(例如在XTK Tutorial 13中的JavaScript代码中?)。我尝试过以下方法:

try 
    sliceX.render();
catch(err)
    console.log('ERROR');

但这并没有发现任何错误(由于我想象的文件加载的异步性质)。

X.renderer有一个onShowtime函数,在所有加载完成后调用。我会想象一个类似onLoadError或其他一些loadError事件的函数吗?

1 个答案:

答案 0 :(得分:0)

我能想到的一个解决方案是添加类似下面的代码,我可以在其中查询错误消息,看看它们是否与错误文件加载引发的特定错误相匹配:

<script  type="text/javascript">
  window.onerror = function (errorMsg, url, lineNumber) {

  if(errowMsg == 'invalid file signature')
      alert(errorMsg);
  };
</script>

虽然感到非常hacky ......?获得另一种意见会很棒

干杯

戴夫