第17章
コード17-01
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
FileWriter fw = new FileWriter("data.txt");
/* : */
}
}
コード17-02
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileWriter fw = new FileWriter("data.txt");
/* : */
} catch(IOException e) {
System.out.println("エラーが発生しました。");
}
}
}
コード17-03
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileWriter fw = new FileWriter("data.txt");
fw.write("hello!");
fw.close();
} catch(Exception e) {
System.out.println("何らかの例外が発生しました");
}
}
}
コード17-04
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("data.txt");
fw.write("hello!");
} catch (Exception e) {
System.out.println("エラーです");
}
fw.close();
}
}
コード17-05
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileWriter fw = new FileWriter("data.txt");
fw.write("hello!");
} catch (Exception e) {
System.out.println("何らかの例外が発生しました");
} finally {
fw.close();
}
}
}
コード17-06
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
FileWriter fw = new FileWriter("data.txt");
try {
fw.write("hello!");
} catch (Exception e) {
System.out.println("何らかの例外が発生しました");
} finally {
fw.close();
}
}
}
コード17-07
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
FileWriter fw;
try {
fw = new FileWriter("data.txt");
fw.write("hello!");
} catch (Exception e) {
System.out.println("何らかの例外が発生しました");
} finally {
fw.close();
}
}
}
コード17-08
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("data.txt");
fw.write("hello!");
} catch (Exception e) {
System.out.println("何らかの例外が発生しました");
} finally {
try {
fw.close();
} catch (IOException e) {
;
}
}
}
}
コード17-09
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("data.txt");
fw.write("hello!");
} catch (Exception e) {
System.out.println("何らかの例外が発生しました");
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
;
}
}
}
}
}
コード17-10
Main.java
import java.io.*;
public class Main {
public static void main(String[] args) {
try (FileWriter fw = new FileWriter("data.txt");) {
fw.write("hello!");
} catch (Exception e) {
System.out.println("何らかの例外が発生しました");
}
}
}
コード17-11
Main.java
public class Main {
public static void main(String[] args){
Person p = new Person();
p.setAge(-128);
}
}
Person.java
public class Person {
int age;
public void setAge(int age) {
if (age < 0) { // ここで引数をチェック
throw new IllegalArgumentException("年齢は正の数を指定すべきです。指定値=" + age);
}
this.age = age; // 問題ないなら、フィールドに値をセット
}
}
コード17-12
UnsupportedMusicFileException.java
public class UnsupportedMusicFileException extends Exception {
// エラーメッセージを受け取るコンストラクタ
public UnsupportedMusicFileException(String msg) {
super(msg);
}
}
コード17-13
Main.java
public class Main {
public static void main(String[] args) {
try {
// 試験的に例外を発生させる
throw new UnsupportedMusicFileException("未対応のファイルです");
} catch (Exception e) {
e.printStackTrace();
}
}
}
UnsupportedMusicFileException.java
public class UnsupportedMusicFileException extends Exception {
// エラーメッセージを受け取るコンストラクタ
public UnsupportedMusicFileException(String msg) {
super(msg);
}
}