javascript错误类型

ECMA-262 定义了下列 7 种错误类型,简单说明如下:

  • Error:普通异常。通常与 throw 语句和 try/catch 语句一起使用。 利用属性 name 可以声明或了 解异常的类型,利用 message 属性可以设置和读取异常的详细信息。
  • EvalError: 在不正确使用 eval()方法时抛出。
  • SyntaxError:抛出语法错误。
  • RangeError:在数字超出合法范围时抛出。
  • ReferenceError:在读取不存在的变量时抛出 。
  • TypeError:当一个值的类型错误时抛出该异常。
  • URLError:由 URL 的编码和解码方法抛出。

使用 try-catch

ECMA-262 第 3 版引入了 try-catch 语旬,当 try-catch 语句中发生错误时, 浏览器会认为错误已经被处理了 ,因而不会报告错误。对于那些不要求用户懂技术,也不需要用户理解错误的 Web 应用程序,这应该说是个理想的结果。不过try-catch 能够让我们实现自己的错误处理机制。使用 try-catch 最适合处理那些无法控制的错误。假设在使用一个大型 JavaScript 库中的函数,该函 数可能会有意无意地抛出一些错误,由于我们不能修改这个库的源代码,所以大可将对该函数的调用放在try-catch语句当中,万一有什么错误发生,也好恰当地处理它们。 在明明白白地知道自己的代码会发生错误时,再使用try-catch语句就不太合适了。例如,如果传递给函数的参数是字符串而非数值,就会造成函数出错,那么就应该先检查参数的类型,然后再决定如何去做。在这种情况下,不应使用try-catch语句。作为 JavaScript 处理异常的一种标准方式。基本语法如下:

新建koa2项目

1.npm install -g koa-generator

2.koa2 项目名称,如果需要ejs引擎koa2 -e 项目名称

3.cd 项目名称

4.npm install

5.npm install –update-binary

6.npm run dev

小知识点:对于start和test可以使用npm,对于dev和prd必须使用npm run来启动

koa中间件

1
2
3
4
5
6
7
8
9
10
11
12
13
function pv(ctx){
global.console.log(ctx.path);
}
module.exports=function(){
return async function(ctx,next){
pv(ctx);
await next(); //next是继续执行下面的中间件,如果不写会直接跳出,不会继续执行
}
}

// app.js文件
const pv = require('./middleware/koa-pv');
app.use(pv())

koa路由接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const router = require('koa-router')()
//返回一个页面
router.get('/', async (ctx, next) => {
global.console.log('index11111');
await ctx.render('index', { //render返回一个页面
title: 'Hello Koa 2!'
})
})
//直接返回数据的用body,json数据
router.get('/json', async (ctx, next) => {
ctx.body = {
title: 'koa2 json'
}
})
//在不同页面为了区分接口,我们可以在加个前缀/user
router.prefix('/users')
module.exports = router

// app.js文件
app.use(index.routes(), index.allowedMethods())
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×