1

私はHecDSSで情報の読み取りと書き込みに取り組んでいます。昨夜このスクリプトを正常に動作させましたが、今朝開いたときに次のエラーが発生し始めました。

    ScriptEngine.execute:Error in script Traceback (innermost last):
      File "<string>", line 13, in ?
    NameError: java

私が現在使用している基本的なコードは次のとおりです。

    from hec.script import *
    from hec.hecmath import *
    from java import *


    try:  
      dssFile = DSS.open("C:/Documents and Settings/SWP/Desktop/MVCA.dss")
      outflow = dssFile.read("/MAITLAND VALLEY/BLYTH/PRECIP-INC/01DEC2011/30MIN/OBS/")
      newOutflow = outflow.add(10.)

      path = DSSPathname(newOutflow.getPath())
      fPart = path.fPart() + " Test"
      path.setFPart(fPart)
      newOutflow.setPathname(path.getPathname())

      dssFile.write(newOutflow)

    except java.lang.Exception, e :
       MessageBox.showError(e.getMessage(), "Error reading data")

なぜ突然機能しないのかを理解しようとしています。助けてくれてありがとう!

4

1 に答える 1

1

*インポートは、すべての名前をモジュールからローカル名前空間にインポートします。だからあなたはする:

from java import *

javaモジュールには と呼ばれるサブモジュールがあり、ではなくlangとしてアクセスできます。langjava.lang

私はJythonについて十分に知りませんが、次のようなものが必要だと思います:

import java.lang

その場合、例外を として参照できますjava.lang.Exception

以前に機能した理由については、おそらく以前に例外を発生させたことはありませんでした。今はそれをキャッチしようとしますが、例外の種類が見つかりません。

于 2011-12-02T14:09:43.763 に答える