草庐IT

try-Catch

全部标签

javascript - 在 try block 中分配值的最佳方法

letx;try{x=...;}catch(e){return}//restofthecodethatuses`x`consty=x+...;x只分配了一次,但我必须使用let而不是const。另一种方式是:try{constx=...;//restofthecodethatuses`x`consty=x+...;}catch(e){return}但是,这会增加嵌套并导致不清楚什么会引发错误。有没有更好的方法?如果try失败,我不必关心x的值,因为我将在catch中返回阻止。我也不想将其提取出来以分离功能。 最佳答案 每当遇到这样的

javascript - 如何在没有 try/catch block 的情况下处理 javascript 中未捕获的异常?

我试图完成的是注册一个全局处理程序来捕获所有未捕获的异常。在网上搜索时,我只设法找到指出window.onerror的人,但这对我来说没有用。显然window.onerror只在错误时被调用而不是在异常时被调用。假设以下代码:functionwindowError(message,url,line){alert(message,url,line);}window.onerror=windowError;throw("uncaught");明显未捕获的异常不会触发windowError处理程序。(使用Firefox3.6.3)有什么建议吗? 最佳答案

javascript - Promise.then(a, b) 和 Promise.then(a).catch(b) 一样吗?

这个问题在这里已经有了答案:Whenis.then(success,fail)consideredanantipatternforpromises?(7个答案)关闭4年前。有什么区别myPromise.then(a,b)myPromise.then(a).catch(b)?无论myPromise的内容和状态以及函数a和b的实现如何,这两个JavaScript表达式是否总是产生相同的结果?除了代码可读性之外,在什么情况下我应该更喜欢使用其中一种?

javascript - try catch 不捕获无效日期

这个问题在这里已经有了答案:Detectingan"invaliddate"DateinstanceinJavaScript(51个答案)关闭9年前。我正在尝试验证日期输入,所以如果它是正确的,我会处理一种方式,如果无效,我会处理另一种方式......vardate,datestring,e;datestring="2012-03-222";try{date=newDate(datestring);/*Endsuplogging`InvalidDate`*/console.log(date);}catch(_error){e=_error;/*Shouldcomehereandlog`

javascript - 有没有办法动态地尝试/捕获整个页面?

我有一个页面不断弹出神秘的JavaScript错误。它们似乎来self们使用的应用程序,并不拥有其来源。我正在研究这个问题的真正解决方案,但我们明天有一个演示,我想知道是否有一种方法可以在整个页面范围内抑制JS错误(比如将所有javascript组件包装在一个巨大的trycatch中)。 最佳答案 您可以向window.onerror事件添加处理程序。在这种情况下,窗口内发生的所有错误都将被重定向到该事件的处理程序。(我确实在Firefox中测试过它并且它有效,但我在Chrome中遇到了问题-我的Chrome安装非常困惑,所以这可能

javascript - catch 和 onErrorResumeNext 的区别

在RxJS中,Observable实例的catch方法和onErrorResumeNext方法之间似乎没有什么区别,除了onErrorResumeNext连接原始Observable与Observable参数是否发生错误。这样的话,命名是不是有点乱?因为如果出现错误,onErrorResumeNext的工作方式与catch的工作方式完全相同:vartestObservable=Rx.Observable.return(1).concat(Rx.Observable.throw("Error"))//BothonErrorandonCatchwillemitthesameresult:1

javascript - 'catch' 在原生 Promise 链中是如何工作的?

在Chrome或Firefox的控制台选项卡上尝试这段代码varp=newPromise(function(resolve,reject){setTimeout(function(){reject(10);},1000)})p.then(function(res){console.log(1,'succ',res)}).catch(function(res){console.log(1,'err',res)}).then(function(res){console.log(2,'succ',res)}).catch(function(res){console.log(2,'err',r

javascript - Fancybox 返回 "The requested content cannot be loaded. Please try again later."

使用Fancybox至playyoutubevideosinamodalbox.我的问题是我不断收到“无法加载请求的内容。请稍后重试。”模式框弹出,所以我知道脚本正在运行,这可能是我的API调用有问题...这是我的调用:$(document).ready(function(){/*Thisisbasic-usesdefaultsettings*/$("a.fancybox").fancybox({'hideOnContentClick':true});/*Thisisanon-obtrustivemethodforyoutubevideos*/$("a[rel=fancyvideo]"

javascript - 清洁代码 : try/catch in Promise

我正在研究redux-formatm并找到了这段代码。它对我有用,但有没有更简洁的方法来用ES6风格编写它?constasyncValidate=(values/*,dispatch*/)=>{returnnewPromise((resolve,reject)=>{try{if(['john','paul','george','ringo'].includes(values.name)){consterror={name:'Thatusernameistaken'};throwerror;}resolve();}catch(e){reject(e);}});};非常感谢你的帮助解决方案

javascript - 第三方 JavaScript - 使用 try catch 是个好主意?

我正在开发一个第三方JavaScript小部件,用户可以将其包含在他们的应用程序/博客中。我对库进行了很好的测试,但我担心如果某些语法错误偷偷溜走并导致用户应用程序上的其他脚本停止加载。那么-为了防止这种情况发生,将我的整个小部件代码包围在像这样的try/catch中是个好主意吗?try{//mylibrary}catch(e){//notifymeabouttheerror} 最佳答案 这里有一个很好的通用方法来说明try-catchblock的用途。如果您可以捕获异常并对该异常执行某些操作,则继续捕获它。例如,BadHtmlEx