用户登录

在这个登录表单里面,输入一个不存在的用户名 .. 提交一下表单 .. 会提示一个错误,说 Cannot find user with provided username .. 这个错误信息可以自定义一下 ..

它其实是 UserNotFoundException 这个异常的处理方法里面设置的 .. 不确定它是谁设置的 .. 可以搜索一下 .. 复制一下这个信息的一部分 ..

回到项目 .. 搜索一下 node_modules 目录下面的这个 @adonisjs 目录 .. 找到了一个结果 .. 是在 auth .. src . Exceptions 下面的这个 index.js 文件里面 ..

打开以后,你会发现 .. 这里定义了一个 UserNotFoundException 异常 .. handle 是这个异常的处理方法 ..

刚才我们在登录页面上看到的错误信息,就是这里定义的 errorMessages ..

下面判断了一下身份验证的方法 .. 如果是 session ... 就用了 session 的 withErrors .. 带着这个错误信息 .. 这样在那个登录页面上就会看到错误信息 ..

我们要想重新定义一下这个错误信息,可以自己处理一下这个 UserNotFoundException 异常 ..

之前我们介绍过在 hooks 里面 .. 单独处理异常 .. 打开 hooks.js ..

在这里我们处理过 InvalidSessionException ... 还有 PermissionCheckException ..

下面可以再试一个处理异常的方法 .. 先回到命令行 ... 在项目下面,执行一下 .. adonis make:ehandler ..

这个命令会在 app .. Exceptions 目录的下面,创建一个叫 Handler.js 的文件 .. 找到这个文件,打开它 ..

这个 ExceptionHandler 里的 handle 就是处理异常用的方法 .. 现在应用里的所有的异常都会使用这个方法来处理 .. 现在它做的事情就是设置了一下错误状态 .. 然后把错误信息响应回去 ..

试验

回到浏览器 ... 可以试一下 .. 在登录页面,输入一个不存在的用户 .. 一个密码 ... 提交一下 ... 这样会发生 UserNotFoundException 异常 ..

现在处理异常用的是 Exceptions 下面的 Handler 文件里定义的 ExceptionHandler 来处理 .. 它在 handle 方法里面做的事情就是响应回来一个错误信息 ...

异常处理器(Exceptions Handler)《 Node.js 应用:重构与改进 #3 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点