1、按要求完成下题:
编写OwnException类,要求继承Exception类;
编写OwnExceptionSource类,要求包含方法a(),a()抛出OwnException;
编写OwnExceptionHandler类,要求包含main(),在main()中调用OwnExceptionSource类的a(),并处理相关异常。
读取一个文本文件,并显示该文本的内容,同时写到另外一个文本文件中。
提示:使用File类进行文件或目录的操作。
package shiyan7;
public class OwnException extends Exception {
public OwnException(String content) {
System.out.println(content);
}
}
package shiyan7;
public class OwnExceptionSource {
public static void a(int num) throws OwnException{
throw new OwnException("文件内容出现10,设置为异常");
}
}
package shiyan7;
import java.io.*;
public class OwnExceptionHandler {
public static void main(String[] args) {
RandomAccessFile Out = null;
RandomAccessFile in = null;
OwnExceptionSource own = new OwnExceptionSource();
try {
//Out.txt预先准备好内容,注意编码形式,可以提前用代码写入一个txt文件
//同时文件的储存地址也要注意
Out = new RandomAccessFile("test1.txt", "rw");
in = new RandomAccessFile("test2.txt", "rw");
System.out.println("文件中的数据为:");
long length=Out.length();
for (int i = 0; i < length; i++) {
Out.seek(i * 4);
in.writeInt(Out.readInt());
if(Out.readInt()==10) {
own.a(-1);
}
System.out.printf("%d,", Out.readInt());
}
Out.close();
} catch (OwnException e) {
System.out.println("catch处理异常");
} catch (IOException e) {
System.out.println("没找到文件");
}
}
}
2、编写DivisionByZero类,包含:
① division():要求执行10/0操作,并使用异常处理机制处理产生的异常;
② main():调用division();
③ 修改division():执行10/0不变,但不在方法中处理产生的异常,改将异常抛出;
④ 修改main():调用division()并处理其抛出的异常。
package shiyan7;
import java.io.*;
public class DivisionByZero {
public static void division() {
try {
int i = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("catch处理异常");
}
}
public static void division2() throws ArithmeticException {
try {
int i = 10 / 0;
} finally {
throw new ArithmeticException("自定义抛出异常");
}
}
public static void main(String[] args) {
division();//未修改的
try {
division2();//修改后的
} catch(ArithmeticException e) {
System.out.println("main函数中的catch处理异常");
}
}
}
这样就可以啦~~
大家对该内容感兴趣的可以关注公众号和我交流联系哦~~更有更多资料相送哦~
还有课程设计需要帮忙的也可以哦~