Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Scala/Play中输出异常错误_Java_Scala_Gzip - Fatal编程技术网

Java 如何在Scala/Play中输出异常错误

Java 如何在Scala/Play中输出异常错误,java,scala,gzip,Java,Scala,Gzip,我是Scala的新手,我继承了一个项目,在这个项目中,我试图通过gzip压缩一个文件并将其上传到s3 我收到一个错误,告诉我java.lang.Exception:压缩文件时出现问题 这是抛出新异常(“问题压缩文件”+tempFilePath) 不幸的是,我不清楚什么是例外,为什么gzip会失败。这是在windows计算机上,gzip可从命令行获得,并已包含在global.scala文件中,包含有import play.filters.gzip.GzipFilter 上传和压缩的整个代码是 de

我是Scala的新手,我继承了一个项目,在这个项目中,我试图通过gzip压缩一个文件并将其上传到s3

我收到一个错误,告诉我
java.lang.Exception:压缩文件时出现问题
这是
抛出新异常(“问题压缩文件”+tempFilePath)

不幸的是,我不清楚什么是例外,为什么gzip会失败。这是在windows计算机上,gzip可从命令行获得,并已包含在global.scala文件中,包含有
import play.filters.gzip.GzipFilter

上传和压缩的整个代码是

def compressAndUpload(tempFilePath: String, dstFileName: String, mimeType: String): Future[Boolean] = {
    "gzip -9 " + tempFilePath ! match {

      case 0 =>
        val gzipTempFilePath = tempFilePath + ".gz"

        val bucket = S3(System.getenv("S3_BUCKET_NAME"))

        // Get incoming file as a byte array
        val byteArray = scalax.io.Resource.fromFile(gzipTempFilePath).byteArray
        // Write to bucket
        val result = bucket + BucketFile(dstFileName, mimeType, byteArray, Some(PUBLIC_READ), Some(Map("Content-Encoding" -> "gzip")))

        result.map { unit =>
          Logger.info("S3 file saved: " + dstFileName)
          // Delete the file
          new File(gzipTempFilePath).delete()
          true
        }.recover {
          case S3Exception(status, code, message, originalXml) => throw new Exception("Error: " + message)
        }

      case _ =>
        throw new Exception("Problem zipping file" + tempFilePath)
    }
  }

结果发现我要查找的字符串在异常中,只是没有被输出

case _ =>
        var e = new Exception("Problem zipping file" + tempFilePath)
        println(e.getStackTraceString)
        throw e
    }

试试“scala>def foo(f:()=>Unit):Unit=try{f()}catch{case e:Exception=>println(“H”+e.getStackTrace)}foo:(f:()=>Unit)Unit”你的标题似乎有误导性。你问“异常中有什么?”据我所知,它是你简单抛出的异常,所以它可以是什么。没有发生异常,执行gzip只返回0以外的内容。您可以检查是什么,并尝试找出问题所在,或者使用与
不同的东西,(例如,打印此命令执行时生成的行)。