回到项目... 再修改一下 ExceptionHandler .. 先在文件的顶部 ... 导入一个 BaseExceptionHandler ...
然后让这个 ExceptionHandler 继承一下这个 BaseExceptionHandler ...
修改一下 handle 方法的参数 .. 一个 error .. 一个 ctx .. 表示 context ...
方法里面可以用一个 switch ... 检查 error 里的 name 的值 ... 它的值就是异常的名字 .. 先添加一个默认的情况 ... default ... return 一下 super.handle ... 带着 ...arguments ..
这样如果已经被处理的异常,还会使用原来的处理方法 ..
回到浏览器 .. 先试一下 ..
输入一个不存在的用户名 ... 一个密码 ... 提交一下 ... 会在用户名字段的下面显示找不到用户 ... 这个就是 UserNotFoundException 这个异常默认的处理方法做的事情 ..
回到项目 ... 在 swith 里面添加一种情况 ... 如果异常是 UserNotFoundException .. 就 await .. 执行一下 this.handleUserNotFoundException ... 一个 error 参数,还有一个 ctx ... break ..
再定义一下这个 handleUserNotFoundExcepiton .. 找到 UserNotFoundException 默认的处理方法 .. 先复制一下方法需要的这些参数 ...
然后把它粘贴到我们自己定义的这个 handleUserNotFoundException 方法里面 ..
再复制一下这个 errorMessages ... 粘贴过来 ..
最后可以再复制一下这个 if .. authScheme 等于 session 的这段代码 ... 粘贴到我们自己的处理方法里面 ..
这里再 return .. super.handle ...arguments ..
然后可以修改一个这个 errorMessages .. 信息里面添加一个悲伤的表情符号 ..
试验
回到浏览器 ... 再试一下 ... 输入一个不存在的用户名 .. 一个密码 ... 提交一下 ..
这回显示的找不到用户的错误信息就是我们自己定制的了 ..