❄️
例外処理
try/catch
package projava;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class ReadFile {
public static void main(String[] args) throws IOException {
var p = Path.of("test.tet"); //エラーを発生させる為に拡張子変更
String s = Files.readString(p);
System.out.println(s);
}
}
/*
Exception in thread "main" java.nio.file.NoSuchFileException: test.tet
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218)
at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
at java.base/java.nio.file.Files.readAllBytes(Files.java:3288)
at java.base/java.nio.file.Files.readString(Files.java:3366)
at java.base/java.nio.file.Files.readString(Files.java:3325)
at projava.ReadFile.main(ReadFile.java:10)
*/
下記は、実際に実施した時の画像↓↓
package projava;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
public class ReadFile {
public static void main(String[] args) throws IOException {
try{
var p = Path.of("test.tet");
String s = Files.readString(p);
System.out.println(s);
}catch (NoSuchFileException e){
System.out.println("ファイル名:" + e.getFile() + "が見つかりません");
}
}
}
NoSuchFileExceptionに対応する例外処理を作成
NoSuchFileExceptionでは、getFileメソッドで見つからなかったファイル名を得ることができる
catch(NoSuchFileException e){
System.out.println("ファイル名:" + e.getFile() + "が見つかりません");
}
Discussion