测试数据源时,异常使我退出 jython 的循环

问题描述

我正在尝试编写一个脚本来使用 AdminControl.testConnection 测试所有集群的所有数据源。它运行良好,直到我想显示它抛出的实际错误消息,其中存在问题。当我想传递自定义消息时循环起作用,但当我想抛出实际消息时不起作用。有没有人以前遇到过这个问题或找到了解决方案?

代码运行良好,但有自定义错误

listofClusters = AdminClusterManagement.listClusters()
for eachCluster in listofClusters:
    eachCluster = eds.split('(')[0]
    print ""
    print 'Test %s DataSources' % (eachCluster)
    print ""
    cluster = AdminConfig.getid('/ServerCluster:' + eachCluster + '/')
    ds = AdminConfig.list("DataSource",cluster)
    for eds in ds.split('\n'):
        dsname = eds.split('(')[0]
        dsname = dsname[1:]
        try:
            print '%s on Cluster1: %s' % (dsname,AdminControl.testConnection(eds))
        except:
            print("Connection test Failed on %s for: %s" % (eachCluster,dsname))

但是当我尝试捕获错误显示它时,代码只是在第一个错误发生后退出,而不是抛出错误然后继续检查循环中的下一个数据源。

listofClusters = AdminClusterManagement.listClusters()
    for eachCluster in listofClusters:
        eachCluster = eds.split('(')[0]
        print ""
        print 'Test %s DataSources' % (eachCluster)
        print ""
        cluster = AdminConfig.getid('/ServerCluster:' + eachCluster + '/')
        ds = AdminConfig.list("DataSource",cluster)
        for eds in ds.split('\n'):
            dsname = eds.split('(')[0]
            dsname = dsname[1:]
            try:
                print '%s on Cluster1: %s' % (dsname,AdminControl.testConnection(eds))
            except:
                print("Connection test Failed on %s for: %s" % (eachCluster,dsname))
                type,val,tb = sys.exc_info()[1]
                print(typ)
                print(val)
                print(tb)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)