Heim >Web-Frontend >js-Tutorial >Welche Möglichkeiten gibt es, Ausnahmen in Javascript abzufangen?
Methode: 1. Try-Catch-finally-Anweisung verwenden, Syntax „try{//Codeblock debuggen}catch(e) {//Ausnahme erfassen und behandeln}finally{//Later-Cleanup-Codeblock}“; Fenster-Onerror-Ereignis.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
JavaScript
-Ausnahmen verwenden hauptsächlich die Anweisung try Catch Finally
und den onerror des Fensterobjekts <code>window
Zu erfassendes Ereignis. JavaScript
的异常主要使用try catch finally
语句以及窗口对象window
的onerror
事件来捕获。
try catch finally
try catch finally
只能捕获运行时的错误,无法捕获语法错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号。try catch finally
语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。
try{ // try_statements throw new TypeError("Test"); }catch (e){ // catch_statements console.log("catch_statements"); if(e instanceof TypeError){ // handle this expected error console.log("handle this expected error"); }else{ // handle unexpected error console.log("handle unexpected error"); } }finally{ // finally_statements console.log("finally_statements"); } /* 注: [catch (e if e instanceof TypeError) { // 非标准 catch_statements }] */
通过Error
的构造器可以创建一个错误对象,当运行时错误产生时,Error
的实例对象会被抛出,Error
对象也可用于用户自定义的异常的基础对象,Js
内建了几种标准错误类型:
EvalError
: 创建一个error
实例,表示错误的原因:与eval()
有关。RangeError
: 创建一个error
实例,表示错误的原因:数值变量或参数超出其有效范围。ReferenceError
: 创建一个error
实例,表示错误的原因:无效引用。SyntaxError
: 创建一个error
实例,表示错误的原因:eval()
在解析代码的过程中发生的语法错误。TypeError
: 创建一个error
实例,表示错误的原因:变量或参数不属于有效类型。URIError
: 创建一个error
实例,表示错误的原因:给encodeURI()
或decodeURl()
传递的参数无效。window.onerror
window.onerror
可以捕捉语法错误,也可以捕捉运行时错误,可以拿到出错的信息,堆栈,出错的文件、行号、列号,只要在当前window
执行的Js
脚本出错都会捕捉到,通过window.onerror
versuchen Sie es endlich mit Catch
versuchen Sie es endlich mit Catch
kann nur Laufzeitfehler, aber keine Syntaxfehler abfangen Rufen Sie die Fehlerinformationen, den Stapel, die Fehlerdatei, die Zeilennummer und die Spaltennummer ab. Die Anweisung try Catch Finally
markiert einen Block von auszuprobierenden Anweisungen und gibt eine Antwort an, die ausgelöst werden soll, wenn eine Ausnahme auftritt. 🎜/* message:错误信息(字符串)。 source:发生错误的脚本URL(字符串) lineno:发生错误的行号(数字) colno:发生错误的列号(数字) error:Error对象(对象) 若该函数返回true,则阻止执行默认事件处理函数。 */ window.onerror = function(message, source, lineno, colno, error) { // onerror_statements } /* ErrorEvent类型的event包含有关事件和错误的所有信息。 */ window.addEventListener('error', function(event) { // onerror_statements })🎜Ein Fehlerobjekt kann über den Konstruktor von
Error
erstellt werden. Wenn ein Laufzeitfehler auftritt, wird das Instanzobjekt von Error
ausgelöst, ErrorDas Code>-Objekt kann auch als Basisobjekt für benutzerdefinierte Ausnahmen verwendet werden. <code>Js
verfügt über mehrere integrierte Standardfehlertypen: EvalError
: Erstellen Sie eine error
-Instanz, um die Fehlerursache anzugeben: bezogen auf eval()
. RangeError
: Erstellt eine error
-Instanz, um die Ursache des Fehlers anzugeben: Die numerische Variable oder der Parameter überschreitet ihren gültigen Bereich. ReferenceError
: Erstellen Sie eine error
-Instanz, um die Fehlerursache anzugeben: ungültige Referenz. SyntaxError
: Erstellen Sie eine error
-Instanz, um die Ursache des Fehlers anzugeben: eval()
tritt während des Prozesses auf Beim Parsen des Codesyntaxfehlers. TypeError
: Erstellt eine error
-Instanz, um die Fehlerursache anzugeben: Die Variable oder der Parameter gehört keinem gültigen Typ an. URIError
: Erstellen Sie eine error
-Instanz, um die Ursache des Fehlers anzugeben: Geben Sie encodeURI()
oder an decodeURl( )
Der übergebene Parameter ist ungültig. window.onerror
kann Syntaxfehler oder By abfangen Beim Erfassen von Laufzeitfehlern können Sie die Fehlerinformationen, den Stapel, die Fehlerdatei, die Zeilennummer und die Spaltennummer abrufen. Jeder Fehler im Js
-Skript wird im aktuellen Fenster
ausgeführt erfasst. Die Front-End-Fehlerüberwachung kann über window.onerror
erreicht werden. Wenn in einem aus einer anderen Domäne geladenen Skript ein Syntaxfehler auftritt, werden aus Sicherheitsgründen die Details des Syntaxfehlers nicht gemeldet. 🎜rrreee🎜【Empfohlenes Lernen: 🎜Javascript-Tutorial für Fortgeschrittene🎜】🎜Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Ausnahmen in Javascript abzufangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!