菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

JS 参考手册

按类别划分的 JS 按字母划分的 JS

JavaScript

JS 数组 JS 布尔值 JS 类 JS 日期 JS 错误 JS 全局 JS JSON JS Map JS Math JS 数字 JS 对象 JS 运算符 JS 优先级 JS Promise JS 正则表达式 JS Set JS 语句 JS 字符串 JS TypedArray

Window

Window 对象 Window Console Window History Window Location Window Navigator Window Screen

HTML DOM

HTML 文档 HTML 元素 HTML 属性 HTML 集合 HTML NodeList HTML DOMTokenList HTML 样式
alignContent alignItems alignSelf animation animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationTimingFunction animationPlayState background backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPosition backgroundRepeat backgroundSize backfaceVisibility border borderBottom borderBottomColor borderBottomLeftRadius borderBottomRightRadius borderBottomStyle borderBottomWidth borderCollapse borderColor borderImage borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeft borderLeftColor borderLeftStyle borderLeftWidth borderRadius borderRight borderRightColor borderRightStyle borderRightWidth borderSpacing borderStyle borderTop borderTopColor borderTopLeftRadius borderTopRightRadius borderTopStyle borderTopWidth borderWidth bottom boxShadow boxSizing captionSide caretColor clear clip color columnCount columnFill columnGap columnRule columnRuleColor columnRuleStyle columnRuleWidth columns columnSpan columnWidth counterIncrement counterReset cssFloat cursor direction display emptyCells filter flex flexBasis flexDirection flexFlow flexGrow flexShrink flexWrap font fontFamily fontSize fontStyle fontVariant fontWeight fontSizeAdjust height isolation justifyContent left letterSpacing lineHeight listStyle listStyleImage listStylePosition listStyleType margin marginBottom marginLeft marginRight marginTop maxHeight maxWidth minHeight minWidth objectFit objectPosition opacity order orphans outline outlineColor outlineOffset outlineStyle outlineWidth overflow overflowX overflowY padding paddingBottom paddingLeft paddingRight paddingTop pageBreakAfter pageBreakBefore pageBreakInside perspective perspectiveOrigin position quotes resize right scrollBehavior tableLayout tabSize textAlign textAlignLast textDecoration textDecorationColor textDecorationLine textDecorationStyle textIndent textOverflow textShadow textTransform top transform transformOrigin transformStyle transition transitionProperty transitionDuration transitionTimingFunction transitionDelay unicodeBidi userSelect verticalAlign visibility width wordBreak wordSpacing wordWrap widows zIndex

HTML 事件

HTML 事件 HTML 事件对象 HTML 事件属性 HTML 事件方法

Web API

API Canvas API Console API Fetch API Fullscreen API 地理位置 API History API MediaQueryList API Storage API 验证 API Web

HTML 对象

<a> <abbr> <address> <area> <article> <aside> <audio> <b> <base> <bdo> <blockquote> <body> <br> <button> <canvas> <caption> <cite> <code> <col> <colgroup> <datalist> <dd> <del> <details> <dfn> <dialog> <div> <dl> <dt> <em> <embed> <fieldset> <figcaption> <figure> <footer> <form> <head> <header> <h1> - <h6> <hr> <html> <i> <iframe> <img> <ins> <input> 按钮 <input> 复选框 <input> 颜色 <input> 日期 <input> 日期时间 <input> 本地日期时间 <input> 电子邮件 <input> 文件 <input> 隐藏 <input> 图像 <input> 月份 <input> 数字 <input> 密码 <input> 单选按钮 <input> 范围 <input> 重置 <input> 搜索 <input> 提交 <input> 文本 <input> 时间 <input> URL <input> 周 <kbd> <label> <legend> <li> <link> <map> <mark> <menu> <menuitem> <meta> <meter> <nav> <object> <ol> <optgroup> <option> <output> <p> <param> <pre> <progress> <q> <s> <samp> <script> <section> <select> <small> <source> <span> <strong> <style> <sub> <summary> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <textarea> <time> <title> <track> <u> <ul> <var> <video>

其他参考

CSSStyleDeclaration JS 转换


JavaScript try...catch...finally

示例

此示例在 try 块中有一个拼写错误。Alert 拼写错误。

catch 块捕获错误并执行代码来处理它。

<p id="demo"></p>

<script>
try {
  adddlert("欢迎访客!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>
自己动手试一试 »

更多示例见下文。


描述

当发生 错误 时,JavaScript 将 停止 并生成错误消息。

注意

这在技术上的术语是:JavaScript 抛出异常

JavaScript 创建一个具有两个属性的 错误对象namemessage

try...catch...finally 语句组合可在不停止 JavaScript 的情况下处理错误。

try 语句定义要运行(尝试)的代码块。

catch 语句定义一个代码块来处理任何错误。

finally 语句定义一个代码块,无论结果如何都将运行。

throw 语句定义一个自定义错误。

catchfinally 都是可选的,但您必须使用其中一个。

注意

throwtrycatch 结合使用,可以控制程序流并生成自定义错误消息。

另请参阅

JavaScript throw

JavaScript 错误对象

JavaScript 错误教程


语法

try {
  tryCode - 要运行的代码块
}
catch(err) {
  catchCode - 处理错误的代码块
}
finally {
  finallyCode - 无论 try 结果如何都将执行的代码块
}

参数

参数 描述
tryCode 必需。
执行时要测试的代码块。
err 错误对象的本地引用。
catchCode 可选。
发生错误时要执行的代码块。
finallyCode 可选。
无论 try 结果如何都将执行的代码块


更多示例

此示例检查输入。

如果值错误,则会抛出异常 (err)

<p>请输入 5 到 10 之间的数字:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">测试输入</button>
<p id="message"></p>

<script>
function myFunction() {
  const message = document.getElementById("message");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "为空";
    if(isNaN(x)) throw "不是数字";
    if(x > 10) throw "过高";
    if(x < 5) throw "过低";
  }
  catch(err) {
    message.innerHTML = "输入 " + err;
  }
}
</script>
自己动手试一试 »

finally 语句执行代码,无论 try 结果如何。

function myFunction()
  const message = document.getElementById("message");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "空";
    if(isNaN(x)) throw "不是数字";
    if(x > 10) throw "过高";
    if(x < 5) throw "过低";
  }
  catch(err) {
    message.innerHTML = "错误: " + err + ".";
  }
  finally {
    document.getElementById("demo").value = "";
  }
}
自己动手试一试 »

浏览器支持

try...catch 是 ECMAScript3 (ES3) 的一个特性。

ES3 (JavaScript 1999) 在所有浏览器中都得到完全支持

Chrome Edge Firefox Safari Opera IE

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持