Java ZipInputStream异常在代码执行之前抛出

Java ZipInputStream异常在代码执行之前抛出,java,exception-handling,Java,Exception Handling,我有一个Java代码,它传入一个Zip文件列表,其中一个文件的格式故意不好。此Zip文件位于列表的末尾 我的代码看起来有点像: System.out.println("Hi Stinky Pete "); try { for (File files : file) { zip_str = new ZipInputStream(new BufferedInputStream(new FileInputStream(file))); yada; }

我有一个Java代码,它传入一个Zip文件列表,其中一个文件的格式故意不好。此Zip文件位于列表的末尾

我的代码看起来有点像:

System.out.println("Hi Stinky Pete ");
try
{
    for (File files : file)
    {
       zip_str = new ZipInputStream(new BufferedInputStream(new FileInputStream(file)));
       yada;
    }
}
catch(Exception)
{
}
在到达坏zip文件之前,它从不打印“Hi臭皮特”或处理任何文件,这是列表中的第4个或第20个文件,它只是抛出ZipException。而且,我也听不到ZipException!它总是冒泡并终止我的程序。
任何帮助都会很好。

这是你的类路径上的错误ZIPfile吗?或者您的类中是否有一个试图打开它的静态初始值设定项


仔细查看异常堆栈跟踪,查看它被抛出的位置。如果您无法解释,请在问题中发布堆栈跟踪。

很抱歉,我继承了代码。我继承的代码在文件列表中执行循环,在一个单独的运行线程中将它们转换为
ZipFile
。这就是为什么我抓不到它,也找不到它的踪迹。基本上是,

for( File files : file)
{
    ZipFile zip = new ZipFile(file);
}

他们这样做是为了检查他们的压缩文件,但没有抓到。抱歉发了这封信

你能发布输出吗。异常是从哪一行引发的?2.您可能会看到sysout和异常日志(syserr)之间的差异,因为它们是由单独的线程处理的。你能试着调试程序来确认实际的流程吗?