这实际上是一个功能齐全的代码(如果有人想使用的话)。我的问题是如何通过使用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/catch/throw/finally
。你可以在try
中抛出你自己的错误,但那会破坏目的。
我为try创建了另一个函数,并在不同的JS文件中捕获部分,所以一切都很好。只是想让每个人都知道。