2013-11-26 4 views
1

java.util.zip.ZipError이 던져 질 것이고 그것을 잡을 수 있습니까?java.util.zip.ZipError를 잡을 수 있습니까?

javadoc은 복구 할 수없는 오류가 발생했음을 의미한다고하지만 그 오류는 무엇입니까? 나는 그것이 나쁜 zip 파일에서 발생할 수 있다고 들었습니다.

편집 : java.util.zip의 소스를 보면이

시도가 존재하지 않는 파일의 요소에 액세스하려고 할 때이 발생되는 것을 보여 주지만 java.util.zip.ZipFile 클래스의 내부 카운트는 것을 나타냅니다 요소가 있어야합니다. 다른 스레드가 ensureOpen 메쏘드를 검사 한 후에 파일을 닫으려고하거나 java.util.zip.ZipFile에 의해 호출 된 원시 메쏘드에 문제가있는 경우에 발생합니다. Java 응용 프로그램을 열어 놓은 상태에서 파일이 변경되면 이런 현상이 발생할 수 있습니다. 나는 정말로 포함 된 코드베이스의 엔트리를 이해하지 못한다 (그것은 크다!).

+0

왜 잡을 수 없습니까? – redFIVE

+0

@redFIVE 오류이므로 예외는 아닙니다. – FrankPl

+0

@Frankpi 아, 고마워! – redFIVE

답변

2

ZipError은 낮은 수준의 JVM 오류를 나타내며 다른 예외와 마찬가지로 catch 할 수 있지만 실행을 계속해서는 안되는 상태에서 전체 JVM이 그 순간에 나타날 가능성이 있습니다. 더 일반적인 파일 정렬, I/O 오류 등과 같은 더 일반적인 정렬을 위해 ZipException이 있습니다.

관련 문제