libcore.io.ErrnoException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of httpresponsecache Show documentation
Show all versions of httpresponsecache Show documentation
An HTTP Response Cache for java.net.URL
The newest version!
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package libcore.io;
import java.io.IOException;
import java.net.SocketException;
/**
* A checked exception thrown when {@link Os} methods fail. This exception contains the native
* errno value, for comparison against the constants in {@link OsConstants}, should sophisticated
* callers need to adjust their behavior based on the exact failure.
*/
public final class ErrnoException extends Exception {
private final String functionName;
public final int errno;
public ErrnoException(String functionName, int errno) {
this.functionName = functionName;
this.errno = errno;
}
public ErrnoException(String functionName, int errno, Throwable cause) {
super(cause);
this.functionName = functionName;
this.errno = errno;
}
/**
* Converts the stashed function name and errno value to a human-readable string.
* We do this here rather than in the constructor so that callers only pay for
* this if they need it.
*/
@Override public String getMessage() {
String errnoName = OsConstants.errnoName(errno);
if (errnoName == null) {
errnoName = "errno " + errno;
}
return functionName + " failed: " + errnoName;
}
public IOException rethrowAsIOException() throws IOException {
IOException newException = new IOException(getMessage());
newException.initCause(this);
throw newException;
}
public SocketException rethrowAsSocketException() throws SocketException {
throw new com.integralblue.httpresponsecache.compat.java.net.SocketException(getMessage(), this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy