返回
前端
分类

结果将成为字符串, 语句处理错误

日期: 2020-01-02 07:52 浏览次数 : 187

JavaScript 错误 - throw、try 和 catch,throwcatch

try 语句测试代码块的错误。

catch 语句处理错误。

throw 语句创建自定义错误。


try-catch语句

1函数就是包裹在花括号中的代码块,前面使用了关键词 function,例如:

 JavaScript 错误

当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误:

可能是语法错误,通常是程序员造成的编码错误或错别字。

可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。

可能是由于来自服务器或用户的错误输出而导致的错误。

当然,也可能是由于许多其他不可预知的因素。


[javascript]try 

   //在此运行代码  

catch(err) 

   //在此处理错误  

try
{
   //在此运行代码
}
catch(err)
{
   //在此处理错误
}举例1
[javascript] <html> 
<head> 
<script type="text/javascript"> 
var txt="" 
function message() 

try 
   { 
   adddlert("Welcome guest!") 
   } 
catch(err) 
   { 
   txt="本页中存在错误。nn" 
   txt+="错误描述:" + err.description + "nn" 
   txt+="点击“确定”继续。nn" 
   alert(txt) 
   } 

</script> 
</head> 
 
<body> 
<input type="button" value="查看消息" onclick="message()" /> 
</body> 
 
</html> 
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
   {
   adddlert("Welcome guest必赢备用网址 ,!")
   }
catch(err)
   {
   txt="本页中存在错误。nn"
   txt+="错误描述:" + err.description + "nn"
   txt+="点击“确定”继续。nn"
   alert(txt)
   }
}
</script>
</head>

function functionname()

{

这里是要执行的代码

}

JavaScript 抛出(throw)错误

当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。

描述这种情况的技术术语是:JavaScript 将抛出一个错误。


<body>
<input type="button" value="查看消息" onclick="message()" />
</body>

2多参函数,例如:

JavaScript try 和 catch

try 语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

JavaScript 语句 try 和 catch 是成对出现的。

</html>
举例2

点击这里function myFunction(name,job){alert("Welcome " +name+ ", the " +job);}

语法

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

[javascript] <html> 
<head> 
<script type="text/javascript"> 
var txt="" 
function message() 

try 
   { 
   adddlert("Welcome guest!") 
   } 
catch(err) 
   { 
     txt="本页中存在错误。nn" 
     txt+="点击“确定”继续查看本页,n" 
     txt+="点击“取消”返回首页。nn" 
     if(!confirm(txt)) 
         { 
         document.location.href="/index.html" 
         } 
   } 

</script> 
</head> 
 
<body> 
<input type="button" value="查看消息" onclick="message()" /> 
</body> 
 
</html> 
<html>
<head>
<script type="text/javascript">
var txt=""
function message()
{
try
   {
   adddlert("Welcome guest!")
   }
catch(err)
   {
     txt="本页中存在错误。nn"
     txt+="点击“确定”继续查看本页,n"
     txt+="点击“取消”返回首页。nn"
     if(!confirm(txt))
         {
         document.location.href="/index.html"
         }
   }
}
</script>
</head>

3如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

实例

在下面的例子中,我们故意在 try 块的代码中写了一个错字。

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

<body>
<input type="button" value="查看消息" onclick="message()" />
</body>

4 如果把数字与字符串相加,结果将成为字符串。

实例

<!DOCTYPE html>
<html>
<head>
<script>
var txt="";
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {
  txt="本页有一个错误。nn";
  txt+="错误描述:" + err.message + "nn";
  txt+="点击确定继续。nn";
  alert(txt);
  }
}
</script>
</head>

<body>
<input type="button" value="查看消息" onclick="message()">
</body>

</html>


</html>

5 不同类型的循环

Throw 语句

throw 语句允许我们创建自定义错误。

正确的技术术语是:创建或抛出异常(exception)。

如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。

用throw抛出异常并处理

(1) for  循环代码块一定的次数

语法

throw exception

异常可以是 JavaScript 字符串、数字、逻辑值或对象。

[javascript] <html> 
<body> 
<script type="text/javascript"> 
var x=prompt("Enter a number between 0 and 10:","") 
try 
{  
if(x>10)  
throw "Err1" 
else if(x<0) 
throw "Err2" 
}  
catch(er) 

if(er=="Err1")  
alert("Error! The value is too high") 
if(er == "Err2")  
alert("Error! The value is too low")  

</script> 
</body> 
</html> 
<html>
<body>
<script type="text/javascript">
var x=prompt("Enter a number between 0 and 10:","")
try
{
if(x>10)
throw "Err1"
else if(x<0)
throw "Err2"
}
catch(er)
{
if(er=="Err1")
alert("Error! The value is too high")
if(er == "Err2")
alert("Error! The value is too low")
}
</script>
</body>
</html>

(2) for/in 循环遍历对象的属性

实例

本例检测输入变量的值。如果值是错误的,会抛出一个异常(错误)。catch 会捕捉到这个错误,并显示一段自定义的错误消息:

 

(3) while 当指定的条件为true时循环指定的代码块

实例

<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 函数出错,上面的例子也会抛出一个错误。

错误 - throw、try 和 catch,throwcatch try 语句测试代码块的错误。 catch 语句处理错误。 throw 语句创建自定义错误。 JavaScript 错误 当...

摘自  Click Here 
Click Here  

(4) do/while 同样当指定的条件为true时循环指定的代码块

[javascript]try { //在此运行代码 } catch(err) { //在此处理错误 } try { //在此运行代码 } catch(err) { //在此处理错误 }举例1 [javascript] ht...

6 break语句用于跳出循环,continue用于跳过循环中的一个迭代。

7 JavaScript标签

(1) continue 语句(带有或不带标签引用)只能用在循环中。

(2) break 语句(不带标签引用),只能用在循环或 switch 中。

(3) 通过标签引用,break 语句可用于跳出任何 JavaScript 代码块。

8 JavaScript错误

(1) try语句测试代码块的错误。

允许我们定义在执行时进行错误测试的代码块。

(2) catch语句处理错误。

定义当try代码块发生错误时,所执行的代码块。

*(3)throw*语句创建自定义错误。

(4) JavaScript语句try和catch是成对出现的。

var txt=""; function message() { try {adddlert("Welcome guest!"); } catch(err) { txt="There was an error on this page.nn"; txt+="Error description: " + err.message + "nn"; txt+="Click OK to continue.nn"; alert(txt); } }  

(5) throw实例

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

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

My First JavaScript

Please input a number between 5 and 10:

Test Input

(6)JavaScript 可用来在数据被送往服务前对HTML表单中的这些输入数据进行验证,被 JavaScript 验证的这些典型的表单数据有:

用户是否已填写表单中的必填项目?

用户输入的邮件地址是否合法?

用户是否已输入合法的日期?

用户是否在数据域 (numeric field) 中输入了文本?

For Example One:

Email:   

For Example Two Email验证

(1) 输入的数据必须包含@符号和点号(.)

(2) @不可以是邮件地址的首字符,且@后面必须要有一个(.)

function validate_email(field,alerttxt) { with (field) { apos=value.indexOf("@") dotpos=value.lastIndexOf(".") if (apos Email: