jjzjj

javascript - javascript try...catch 语句是如何工作的

我正在尝试在browsermob中测试某些输入字段是否有效。我正在尝试使用我以前从未使用过的try...catch语句。我知道表格是:try{//somecode}catch(){//someerrorcode};catch语句后的括号中究竟应该放什么?当我尝试使用该语句时,无论它是否不是错误,它都会通过catch语句运行所有内容。我做错了什么? 最佳答案 参见“try...catchstatement”guideonMDN.简而言之,try/catch用于处理异常(使用throw语句“抛出”)。try/catch的语法是:try{

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 - 是否有任何解决方法可以重新抛出异常并保留 Javascript 中的堆栈跟踪?

我知道Chrome有一个knownbug在Javascript中重新抛出异常时不保留堆栈跟踪。我在Chrome中运行了以下代码:try{try{runCodeThatMayThrowAnException();}catch(e){//I'mhandingtheexceptionhere(displayinganicemessageorwhatever)//NowIwanttorethrowtheexceptionthrow(e);}}catch(e){//Thestacktracewaslosthere:(}有什么方法可以保留堆栈跟踪吗?也许是一个jQuery插件?任何解决方法或想法?

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 - 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 - 清洁代码 : 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

javascript - 如何记录 "catched"异常?

当winston处理未捕获的异常,它打印未捕获异常的一个很好的信息。我怎样才能对“捕获的异常”做同样的事情?if(err){//winston.logthecatchedexception}我检查了来源,似乎有一个logExceptionmethod但我不知道如何使用它。varlogger=newwinston.Logger({transports:[newwinston.transports.Console({handleExceptions:true})]})varerr=newError('testerror.')logger.logException(err.message)/