La implementación de Orchestrator del motor de JavaScript de Rhino de Mozilla admite el control de excepciones para permitir el procesamiento de errores. Siga estas directrices al escribir controladores de excepciones en scripts.

  • Utilice los tipos siguientes de error de la ECMA (European Computer Manufacturers Association). Utilice Error como excepción genérica que devuelven las funciones del complemento y los tipos siguientes de errores específicos.

    • TypeError

    • RangeError

    • EvalError

    • ReferenceError

    • URIError

    • SyntaxError

    El ejemplo siguiente muestra una definición de URIError.

    try { 
         ... 
            throw new URIError("VirtualMachine with ID 'vm-0056' 
                           not found on 'vcenter-test-1'") ; 
         ... 
    } catch ( e if e instanceof URIError ) { 
    
    }
  • Todas las excepciones no capturadas por los scripts deben ser objetos de cadena simple con el formato <type>:SPACE<human readable message>, tal como se muestra en el ejemplo siguiente.

    throw "ValidationError: The input parameter 'myParam' of type 'string' is too short."
    
  • Escriba mensajes legibles que sean lo más claros posible.

  • La comprobación de tipos de excepción de cadenas simples debe utilizar el patrón siguiente.

    try {
          throw "VMwareNoSpaceLeftOnDatastore: Datastore 'myDatastore' has no space left" ;
    } catch ( e if (typeof(e)=="string" && e.indexOf("VMwareNoSpaceLeftOnDatastore:") == 0) ) {
          System.log("No space left on device") ;
          // Do something useful here
    }
  • La comprobación de tipos de excepción de cadenas simples debe seguir este patrón en los elementos de scripts en los flujos de trabajo.

    if (typeof(errorCode)=="string" 
          && errorCode.indexOf("VMwareNoSpaceLeftOnDatastore:") 
          == 0) {
          // Do something useful here
    }