javascript - 如何通过使用 try、throw、catch 和 finally 来处理错误来重写代码?
问题描述
这实际上是一个功能齐全的代码(如果有人想使用)。我的问题是如何通过使用 try..catch..throw..finally 语法来处理错误来重写代码
$(document).ready(function () {
$(".submit").click(function (event){
event.preventDefault()
var email = $(".email").val()
var subject = $(".subject").val()
var statusElm = $(".status")
statusElm.empty()
if(email.length > 5 && email.includes("@") && email.includes(".")) {
statusElm.append("<div>valid email</div>")
}else{
statusElm.append("<div>invalid email</div>")
}
if(subject.length > 2) {
statusElm.append("<div>Valid Subject</div>")
}else{
statusElm.append("<div>invalid subject</div>")
}
})
})
更新:我想出了这样的东西;
$(document).ready(function () {
$(".submit").click(function (event){
event.preventDefault()
var email = $(".email").val()
var subject = $(".subject").val()
var statusElm = $(".status")
statusElm.empty()
try {
if(email.length > 5 && email.includes("@") && email.includes(".")) throw "is not an email";
if(subject.length > 2) throw "is not long enough";
}
catch(err) {
status.innerHTML = "Input " + err;
}
})
})
但它没有执行。我不知道如何使它工作。
解决方案
我为 try 创建了另一个函数,并在不同的 JS 文件中捕获部分,所以一切都很好。只是想让大家知道。
推荐阅读
- javascript - characters.map 不是函数
- javascript - 如何在点击时显示 0:00 而不是 NaN:NaN
- ios - 如何在 Swift 中屏蔽 UIStackView?
- swift - UIStackView() 不显示
- java - 如何单个函数调用多个活动?
- android - 为什么我的编辑文本启用时没有出现闪烁的光标?
- c++ - Codeforces 中的左撇子、右撇子和 Ambidexters 问题给了我一个错误
- azure - 是否可以使用 Azure 网络安全组仅允许从 Web 应用访问数据库 VM?
- python - Appjar 标签不会更新
- c# - 通过 URL 将加密的密钥特殊字符传递给 consteller