Closed abbshr closed 9 years ago
@AustinChou
https://github.com/AustinChou/Git-Contacts/commit/031751251ebec6b7686535eea18bf50f1710b9d0 https://github.com/AustinChou/Git-Contacts/commit/116627ac1727f8cda6df78111904f6757525a32e
我把错误处理逻辑放到到路由组件里了, GitContacts
类中发生异常时会给@@errno
赋值, 可通过GitContacts::errsym
方法获取.
@@errno
属于Symbol
类型, 目前这些值可用:
:ok # 操作成功返回
:pend # 操作被接受, 但等待审核中尚未完成
:forbidden # 操作被禁止, 由于权限问题无法访问目标资源/不存在而导致
:non_exist # 操作失败, 由于必需的目标不存在
:exist # 操作失败, 由于目标已存在
:bad_args # 操作失败, 由于传递参数无法识别导致
:miss_args # 操作失败, 由于缺少必需的参数
因此路由组件中可以这样处理错误:
ret = GitContacts::do_some_opt_need_return
case GitContacts::errsym
when :ok then # handle ret
when :forbidden then # ...
....
end