关于js的异常
2024-08-27 03:48:42
遇到异常,通常会有两种处理办法
1、处理异常
try{
//可能出现异常的代码
}catch(e){
//处理异常
}
2、抛出异常
public void getName throws Exception(){ }
但是呢,我百度js的关键字竟然发现竟然很少有人去说thows。
为啥呢,难道js里没有,一查,果然没有
那它怎么抛出异常呢,毕竟我不想到处try啊???难道...js不用如果你不处理的话,会自动抛出去?
带着好奇的新,写了个小demo
,,,,果然是这样!!!js的语法页太不严谨了吧。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<button>提交</button>
<script src="jquery-3.2.1.min.js" ></script>
<script>
//模拟某个异步模块处理
var doSomething=function(){
return new Promise(function(resolve, reject){
setTimeout(function(){
var a=2;var b=0;var i=a/b;var result;
if(b==0){
reject('除数不能为0');
}else{
result={status:true,data:i}
}
resolve(result)
},2000)
})
}; //自己封装的服务
var service={
// getList:async function() throws Exception{你不用手动去抛出异常,调用者直接处理好了,这跟java是有区别的
getList:async function() {
var data=await doSomething();
// var data;//我不在此处做处理
// try{data=await doSomething();}catch(e){data=e;}
return data;
}
}; //使用
$('button').click(function(){
(async function(){
// var data=await service.getList();
var data;
try{data=await service.getList();}catch(e){data=e;}//直接处理好了
console.log(data)
})()
}); </script>
</body>
</html>
再来看看人家java是如何抛出异常的
public class Jsq{
//利用throws关键字声明该方法可能出现的异常
public void division(int a,int b) throws Exception{ return a/b; /*或者手动抛出你定义的异常
if(b == 1){
this.id = id;
}else {
throw new xxxException("除数为1,你觉得有意义吗?");
}*/
}
}
不过呢,值得欣慰的是,js保留了其关键字,相信随着js的发展,这些关键字都会慢慢用上呢
最新文章
- Zookeeper的安装和使用
- sql数据库 管理处理问题--维护计划
- Android TestView文本文字修改实例
- JS模块化工具requirejs教程(一):初识requirejs
- spring框架七大模块
- 新建线程与UI线程间的通信
- DG下手工处理v$archive_gap方法
- 基于百度地图api + AngularJS 的入门地图
- Android之Fragment详解
- Spring(六)Spring执行流程
- linux的基本操作(mysql 的基本操作)
- Android-Activity启动流程
- 解题:CF1063F String Journey
- Java NIO.2 —— 文件或目录拷贝操作
- Catch That Cow--POJ3278
- 【Linux】文件操作系统调用
- HDU 6040 stl
- PS中10种样式操作
- wifi免密码登录认证流程
- Valgrind查找内存泄露利器
热门文章
- EF 序列化实体为Json时的循环引用问题(不用自己写实体,不用匿名类型,不用EF的上下文属性)
- 四个dos命令检查你的电脑是否中木马
- iphone中点击input不能选中input中的内容
- Django学习笔记第七篇--实战练习三--关于更有层级的url请求、404错误以及其他响应函数
- [SharePoint 2010] SharePoint 2010上多人同時編輯Office 2010文件
- System.getProperty()方法大全 (转载)
- git sourcetree忽略某些文件提交
- Ibatis的#和$的区别
- Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署
- Storm 在ZK 上的目录图