JavaScript 过错 - throw、try 和 catch


try 句子测验代码块的过错。

catch 句子处理过错。

throw 句子创立自界说过错。


 JavaScript 过错

当 JavaScript 引擎履行 JavaScript 代码时,会发作各种过错:

或许是语法过错,通常是程序员形成的编码过错或错别字。

或许是拼写过错或言语中短少的功用(或许因为浏览器差异)。

或许是因为来自服务器或用户的过错输出而导致的过错。

当然,也或许是因为许多其他不行预知的要素。


JavaScript 抛出(throw)过错

当过错发作时,当工作出问题时,JavaScript 引擎通常会中止,并生成一个过错音讯。

描绘这种状况的技能术语是:JavaScript 将抛出一个过错。


JavaScript try 和 catch

try 句子答应咱们界说在履行时进行过错测验的代码块。

catch 句子答应咱们界说当 try 代码块发作过错时,所履行的代码块。

JavaScript 句子 trycatch 是成对呈现的。

语法

try
  {
  //在这里运转代码
  }
catch(err)
  {
  //在这里处理过错
  }

实例

鄙人面的比如中,咱们故意在 try 块的代码中写了一个错字。

catch 块会捕捉到 try 块中的过错,并履行代码来处理它。

实例

<!DOCTYPE html>
<html>
<head>
<script>
var txt="";
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {
  txt="本页有一个过错。\n\n";
  txt+="过错描绘:" + err.message + "\n\n";
  txt+="点击确认持续。\n\n";
  alert(txt);
  }
}
</script>
</head>

<body>
<input type="button" value="检查音讯" onclick="message()">
</body>

</html>

测验一下 »


Throw 句子

throw 句子答应咱们创立自界说过错。

正确的技能术语是:创立或抛出反常(exception)。

假如把 throw 与 try 和 catch 一同运用,那么您可以控制程序流,并生成自界说的过错音讯。

语法

throw exception

反常可所以 JavaScript 字符串、数字、逻辑值或目标。

实例

本例检测输入变量的值。假如值是过错的,会抛出一个反常(过错)。catch 会捕捉到这个过错,并显现一段自界说的过错音讯:

实例

<script>
function myFunction()
{
try
  {
  var x=document.getElementById("demo").value;
  if(x=="")    throw "empty";
  if(isNaN(x)) throw "not a number";
  if(x>10)     throw "too high";
  if(x<5)      throw "too low";
  }
catch(err)
  {
  var y=document.getElementById("mess");
  y.innerHTML="Error: " + err + ".";
  }
}
</script>

<h1>My First JavaScript</h1>
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="mess"></p>

测验一下 »

请注意,假如 getElementById 函数犯错,上面的比如也会抛出一个过错。