Java Try/Catch,或在不更改方法头的情况下执行异常处理
我正在编写一个简单的程序,它将“我爱Java”写入一个文本文件300次,我让它如图所示工作Java Try/Catch,或在不更改方法头的情况下执行异常处理,java,java-io,Java,Java Io,我正在编写一个简单的程序,它将“我爱Java”写入一个文本文件300次,我让它如图所示工作 public class PrintLines { public static void main(String[] args) throws Exception{ java.io.File file = new java.io.File("myFile.txt"); java.io.PrintWriter output = new java.io.Pr
public class PrintLines {
public static void main(String[] args) throws Exception{
java.io.File file = new java.io.File("myFile.txt");
java.io.PrintWriter output = new java.io.PrintWriter(file);
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
output.close();
}
}
公共类打印行{
公共静态void main(字符串[]args)引发异常{
java.io.File文件=新的java.io.File(“myFile.txt”);
java.io.PrintWriter输出=新的java.io.PrintWriter(文件);
整数计数=1;
而(count您的代码应该与此类似。
我认为例外应该是IOException
public class PrintLines {
public static void main(String[] args) {
java.io.File file;
java.io.PrintWriter output = null;
try{
file = new java.io.File("myFile.txt");
output = new java.io.PrintWriter(file);
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
output.close();
} catch(*EXCEPTION*) {
//Handle Exception
} finally {
if(output!=null) {
output.close();
}
}
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件;
java.io.PrintWriter输出=null;
试一试{
file=newjava.io.file(“myFile.txt”);
输出=新的java.io.PrintWriter(文件);
整数计数=1;
而(count您的代码应该与此类似。
我认为例外应该是IOException
public class PrintLines {
public static void main(String[] args) {
java.io.File file;
java.io.PrintWriter output = null;
try{
file = new java.io.File("myFile.txt");
output = new java.io.PrintWriter(file);
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
output.close();
} catch(*EXCEPTION*) {
//Handle Exception
} finally {
if(output!=null) {
output.close();
}
}
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件;
java.io.PrintWriter输出=null;
试一试{
file=newjava.io.file(“myFile.txt”);
输出=新的java.io.PrintWriter(文件);
整数计数=1;
而(count它看起来是这样的-
public class PrintLines {
public static void main(String[] args){
java.io.File file = new java.io.File("myFile.txt");
java.io.PrintWriter output = null;
try {
output = new java.io.PrintWriter(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
output.close();
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件=新的java.io.File(“myFile.txt”);
java.io.PrintWriter输出=null;
试一试{
输出=新的java.io.PrintWriter(文件);
}catch(filenotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
整数计数=1;
而(count它看起来是这样的-
public class PrintLines {
public static void main(String[] args){
java.io.File file = new java.io.File("myFile.txt");
java.io.PrintWriter output = null;
try {
output = new java.io.PrintWriter(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
output.close();
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件=新的java.io.File(“myFile.txt”);
java.io.PrintWriter输出=null;
试一试{
输出=新的java.io.PrintWriter(文件);
}catch(filenotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
整数计数=1;
Java中的while(count异常是通过try
和catch
块来处理的。如果你声明你的方法抛出异常,那么你将在更高级别上处理异常。如果你想处理它,你必须在try-and-catch块中编写代码。你还可以捕获多种类型的异常
public class PrintLines {
public static void main(String[] args) {
java.io.File file;
java.io.PrintWriter output;
try {
file = new java.io.File("myFile.txt");
output = new java.io.PrintWriter(file);
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
} catch(FileNotFoundException e) {// If the file does not exist
e.printStackTrace();// Prints the error
} catch(IOException e) {//any other io error
e.printStackTrace();// Prints the error
} finally {
if(output!=null){
output.close();
}
}
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件;
java.io.PrintWriter输出;
试一试{
file=newjava.io.file(“myFile.txt”);
输出=新的java.io.PrintWriter(文件);
整数计数=1;
Java中的while(count异常是通过try
和catch
块来处理的。如果你声明你的方法抛出异常,那么你将在更高级别上处理异常。如果你想处理它,你必须在try-and-catch块中编写代码。你还可以捕获多种类型的异常
public class PrintLines {
public static void main(String[] args) {
java.io.File file;
java.io.PrintWriter output;
try {
file = new java.io.File("myFile.txt");
output = new java.io.PrintWriter(file);
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
} catch(FileNotFoundException e) {// If the file does not exist
e.printStackTrace();// Prints the error
} catch(IOException e) {//any other io error
e.printStackTrace();// Prints the error
} finally {
if(output!=null){
output.close();
}
}
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件;
java.io.PrintWriter输出;
试一试{
file=newjava.io.file(“myFile.txt”);
输出=新的java.io.PrintWriter(文件);
整数计数=1;
虽然(count是为Java新手准备的,并对这些内容进行了很好的解释。特别是,详细描述了异常和I/O。是的,I/O的代码示例也演示了正确的异常处理。是为Java新手准备的,并对这些内容进行了很好的解释。特别是,描述了异常处理是的,I/O的代码示例也演示了正确的异常处理。因为注释太短:
public class PrintLines {
public static void main(String[] args) {
java.io.File file = new java.io.File("myFile.txt");
try {
final java.io.PrintWriter output = new java.io.PrintWriter(file);
try {
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
} finally {
output.close();
}
if (output.checkError()) {
System.err.println("Failed to write file correctly.");
System.exit(1);
return;
}
} catch (java.io.FileNotFoundException exc) {
System.err.println("Failed to write file correctly.");
System.exit(1);
return;
}
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件=新的java.io.File(“myFile.txt”);
试一试{
最终java.io.PrintWriter输出=新的java.io.PrintWriter(文件);
试一试{
整数计数=1;
而(计数因为评论太短:
public class PrintLines {
public static void main(String[] args) {
java.io.File file = new java.io.File("myFile.txt");
try {
final java.io.PrintWriter output = new java.io.PrintWriter(file);
try {
int count = 1;
while (count <= 300) {
output.println(count + " I love Java!");
count++;
}
} finally {
output.close();
}
if (output.checkError()) {
System.err.println("Failed to write file correctly.");
System.exit(1);
return;
}
} catch (java.io.FileNotFoundException exc) {
System.err.println("Failed to write file correctly.");
System.exit(1);
return;
}
}
}
公共类打印行{
公共静态void main(字符串[]args){
java.io.File文件=新的java.io.File(“myFile.txt”);
试一试{
最终java.io.PrintWriter输出=新的java.io.PrintWriter(文件);
试一试{
整数计数=1;
虽然(计数。注意,如果你不能处理IOException,你应该让你的方法抛出它。不过,你应该使用finally块关闭编写器。我认为你不希望你的main抛出异常。抛出异常意味着调用该方法的人必须捕获或抛出它。因为main是你的入口点,所以在这个程序中,除了UncaughtExceptionHandler之外,没有任何地方可以捕捉到它。UncaughtExceptionHandler默认情况下会打印一个很好的堆栈跟踪到System.err
。对于面向有技术知识的读者的简单程序,这就足够了。没有人想检查写入文件是否真的有效了吗?我不这么认为。哦,它有效了。我在我被困于如何在头中没有IOException的情况下处理异常之前,我做了3次。注意,如果你不能处理IOException,你应该让你的方法抛出它。但是,你应该使用finally块来关闭编写器。我认为你不希望你的main抛出异常。抛出异常意味着什么都没有调用该方法将必须捕获或抛出它。由于main是您的入口点,因此在此程序中没有可以捕获它的位置……除了UncaughtExceptionHandler,默认情况下,它会打印一个漂亮的堆栈跟踪到System.err
。对于用于