Domanda

Sto lavorando alla lettura e alla scrittura di informazioni in HECDSS. Ho fatto funzionare bene questa sceneggiatura ieri sera tranne quando l'ho aperto stamattina ho iniziato a ricevere questo errore:

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

Il codice di base che sto usando ora è:

    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")

Sto solo cercando di capire perché non funziona all'improvviso. Grazie per qualsiasi aiuto!

È stato utile?

Soluzione

Il * Importa importa tutti i nomi dal modulo nello spazio dei nomi locali. Quindi fai:

from java import *

E il java moduli ha un sottomodulo chiamato lang, puoi accedervi come lang, non java.lang.

Non ne so abbastanza su Jython, ma penso che tu voglia qualcosa del genere:

import java.lang

Nel qual caso puoi fare riferimento all'eccezione come java.lang.Exception.

Per quanto riguarda il motivo per cui ha funzionato prima, probabilmente non ha mai sollevato un'eccezione prima. Ora lo ha fatto e cerca di catturarlo, ma non riesce a trovare il tipo di eccezione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top