分布式系统:引发客户端上服务器端抛出的错误

詹森

我刚刚开始创建一个分布式系统,该系统现在具有一台服务器和一堆客户端。使用的语言是python,通信使用套接字和JSON完成。当服务器端发生错误时,我将错误类名和错误参数发送给客户端,如下所示:

     except Exception as e:
         jsonResult = {"error":                                                                                 
                       {   
                           "name":e.__class__.__name__,                                                         
                           "args": e.args                                                                       
                       }                                                                                        
         }                                                                                                      

         jsonResult = json.dumps(jsonResult)                                                                    
         jsonResult += "\n"                                                                                     

         return jsonResult  

然后尝试像这样在客户端上提高它:

          errorFunc = decodedReply["error"]["name"]
          args = decodedReply["error"]["args"]
          print (args)

          # Builds and appends the argumentstring to the error class-name.
          errorFunc += '('
          for arg in args:
              # Handles when the argument is a string.
              if isinstance(arg, str):
                  errorFunc += '\'' + arg + '\','
              else:
                  errorFunc += arg + ','

          # Removes the extra ',' from the string before adding the last ')'. 
          errorFunc = errorFunc[:-1] 
          errorFunc += ')'

          # Debugging print.
          print ("Here: " + errorFunc)

          raise exec(errorFunc)

当我这样做时,我得到了错误

TypeError: exceptions must derive from BaseException

根据我在这里所读的内容:即使异常也必须从BaseException派生出来(Python 2.7)

看来我必须将其声明为类。反正有解决这个问题的方法吗?

萨索夫

根据python,您提出了一些例外情况:

>>> type(exec("ValueError('ABC')"))
<class 'NoneType'>

您需要重写代码以具有以下功能:

>>> errorFunc = "ValueError('ABC')"
>>> exec('raise ' + errorFunc)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
ValueError: ABC

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何模拟服务器响应-服务器端客户端

来自分类Dev

AngularJS:服务器端记录客户端错误

来自分类Dev

Django request.POST从客户端到服务器端的字典顺序

来自分类Dev

客户端服务器端模板nodejs

来自分类Dev

在服务器端访问客户端变量

来自分类Dev

客户端上的Java客户端-服务器问题(无System.out)

来自分类Dev

服务器端或客户端渲染

来自分类Dev

如何检索由Future抛出的错误消息,从服务器到客户端?

来自分类Dev

客户端与服务器端模板(哪个?)

来自分类Dev

Mongodb服务器端与客户端处理

来自分类Dev

客户端-服务器-客户端*游戏系统

来自分类Dev

在Django中,我如何执行服务器端功能并在客户端上监视进度

来自分类Dev

Angularjs | 如何记录客户端错误并将其发送到服务器端?

来自分类Dev

在客户端上使用Angular进行服务器端表单验证

来自分类Dev

从服务器端生成的Firestore模拟器获取客户端React App

来自分类Dev

Java套接字服务器-客户端;卡在服务器端

来自分类Dev

Devexpress MVC扩展。这些扩展是服务器端还是客户端端?

来自分类Dev

php的服务器端关联数组到html的客户端端

来自分类Dev

客户端服务器端模板nodejs

来自分类Dev

在服务器端捕获所有JavaScript客户端错误

来自分类Dev

OpenVPN-客户端上的动态IP,服务器端上的静态IP

来自分类Dev

在客户端委派服务器端验证

来自分类Dev

降价解析器应该是客户端还是服务器端

来自分类Dev

带有客户端初始化的ReactJs.net服务器端渲染会引发警告

来自分类Dev

位置客户端服务器跟踪系统

来自分类Dev

客户端数据到服务器端

来自分类Dev

构建 HTML 客户端 VS 服务 HTML 服务器端?

来自分类Dev

无法在 Next.js 中获取动态组件以跳过服务器端渲染并仅在客户端上显示

来自分类Dev

分布式系统中P2P和客户端-服务器架构模型有什么区别

Related 相关文章

  1. 1

    如何模拟服务器响应-服务器端客户端

  2. 2

    AngularJS:服务器端记录客户端错误

  3. 3

    Django request.POST从客户端到服务器端的字典顺序

  4. 4

    客户端服务器端模板nodejs

  5. 5

    在服务器端访问客户端变量

  6. 6

    客户端上的Java客户端-服务器问题(无System.out)

  7. 7

    服务器端或客户端渲染

  8. 8

    如何检索由Future抛出的错误消息,从服务器到客户端?

  9. 9

    客户端与服务器端模板(哪个?)

  10. 10

    Mongodb服务器端与客户端处理

  11. 11

    客户端-服务器-客户端*游戏系统

  12. 12

    在Django中,我如何执行服务器端功能并在客户端上监视进度

  13. 13

    Angularjs | 如何记录客户端错误并将其发送到服务器端?

  14. 14

    在客户端上使用Angular进行服务器端表单验证

  15. 15

    从服务器端生成的Firestore模拟器获取客户端React App

  16. 16

    Java套接字服务器-客户端;卡在服务器端

  17. 17

    Devexpress MVC扩展。这些扩展是服务器端还是客户端端?

  18. 18

    php的服务器端关联数组到html的客户端端

  19. 19

    客户端服务器端模板nodejs

  20. 20

    在服务器端捕获所有JavaScript客户端错误

  21. 21

    OpenVPN-客户端上的动态IP,服务器端上的静态IP

  22. 22

    在客户端委派服务器端验证

  23. 23

    降价解析器应该是客户端还是服务器端

  24. 24

    带有客户端初始化的ReactJs.net服务器端渲染会引发警告

  25. 25

    位置客户端服务器跟踪系统

  26. 26

    客户端数据到服务器端

  27. 27

    构建 HTML 客户端 VS 服务 HTML 服务器端?

  28. 28

    无法在 Next.js 中获取动态组件以跳过服务器端渲染并仅在客户端上显示

  29. 29

    分布式系统中P2P和客户端-服务器架构模型有什么区别

热门标签

归档