js中try...catch啥时候用,怎么用,有错误就改正好了,干嘛还要用try...catch,我才学两天,求教高手
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中try...catch啥时候用,怎么用,有错误就改正好了,干嘛还要用try...catch,我才学两天,求教高手相关的知识,希望对你有一定的参考价值。
有些地方很难保证一定会顺利执行 这时如果不放在try...catch里面 一旦出错 其它代码也无法顺利执行另外就是有些地方比如你要用一个方法a.b.c 如果要保证不出错就要先判断a是不是定义了 再判断a.b是不是定义了 再判断a.b.c是不是定义了 而用try...catch就不用这么麻烦了
而且try catch还可以更清楚地抛出错误 可以自己设置抛出错误的提示 参考技术A 可能有异常抛出时,需要捕获异常, 参考技术B 在try cach段内的错误不是改正了就可以了的,有的时候是无法避免的,比如你从一个文件里面读数据,可能是系统原因照成的,你能把系统改正吗,显然是不能的,我们才要捕捉这些异常,然后做出相应的处理。 参考技术C 一个简单的例子,使用Ajax时我们需要床架XMLHttpRequest对象,由于不同浏览器厂商创建该对象的方式不一样,所以为了兼容,
var xhr = null;
try
//标准的创建方法,如果在IE中可能会抛出异常
xhr = new window.XMLHttpRequest();
catch(e)
//IE中创建方式
xhr = new window.ActiveXObject("Microsoft.XMLHTTP");
有些异常是在运行时才能发现,所以异常捕捉还是有必要的. 参考技术D 在可能产生错误但又不一定会产生错误的地方用。比如 A=X/Y .
如果这个Y是由用户输入的的话,那么你就可以用一个try,还有一些要打开一个文件,但是那个文件有可能被用户删除了,或者别的原因打不开时,也可以用一个try命令。 第5个回答 2018-07-02 try catch的使用,永远应该放在你的控制范围之内,而不应该防范未知的错误。也就是说你很清楚知道这里是有可能”出错“的,而且你很清楚知道什么前提下会出错,你就是要故意利用报错信息来区分错误,后续的程序会解决所有的出错,让程序继续执行。
如果让用户先发现你根本没预料到的错误,而不是你先发现错误,你是失职的。
js 抛出异常try catch怎么写?在线等
我现在要做一个JS方法,做一个文本改变事件,等文本框改变的时候就说,“请输入数字,不能输入字符串”。这样的try catch怎么写?在前台JS里, 谁能帮我写一个啊?文本改变事件我已经做完了,就是不会写try catch 谢谢
参考技术A tryfoo.bar();
catch (e)
alert(e.name + ": " + e.message);
系统异常主要包含以下6种:
EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:
new Error();
new Error("异常信息");
手工抛出异常的方法如下:
try
throw new Error("Whoops!");
catch (e)
alert(e.name + ": " + e.message);
如要判断异常信息的类型,可在catch中进行判断:
try
foo.bar();
catch (e)
if (e instanceof EvalError)
alert(e.name + ":" + e.message);
else if (e instanceof RangeError)
alert(e.name + ": " + e.message);
// etc
Error具有下面一些主要属性:
description: 错误描述 (仅IE可用).
fileName: 出错的文件名 (仅Mozilla可用).
lineNumber: 出错的行数 (仅Mozilla可用).
message: 错误信息 (在IE下同description)
name: 错误类型.
number: 错误代码 (仅IE可用).
stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
以上是关于js中try...catch啥时候用,怎么用,有错误就改正好了,干嘛还要用try...catch,我才学两天,求教高手的主要内容,如果未能解决你的问题,请参考以下文章