五个异常关键词
try-catch-finally的写法格式
public void method(){
try {
//代码段1
//产生异常的代码段
}catch(异常类型 e){
//对异常进行处理的代码段3
}finally{
//一定要执行的代码块
}
} public void method(){
try {
// 代码段
} catch (异常类型 ex) {
// 对异常进行处理的代码段
}
// 代码段
} public void method(){
try {
// 代码段
// 产生异常(异常类型2)
} catch (异常类型1 ex) {
// 对异常进行处理的代码段
} catch (异常类型2 ex) {
// 对异常进行处理的代码段
} catch (异常类型3 ex) {
// 对异常进行处理的代码段
}
// 代码段
} 上面三种都是正确的写法,然后注意一下下面几点
如果try内部没有错误,那么就会直接跳过catch段,进入下面对的代码,有这个主要就是为了保证代码能够在一些错误发生的时候也能正常的运行到下面的程序,并且抛出一些错误的原因
注意Exception类就是前面的异常类型,并且这个类是所有的异常的父类,在第三种格式时,注意下将Exception类放到最后一个异常捕获里,如果你不能保证已经将所有的异常都放入了catch里,然后还有ex其实就是变量的意思.(如果我没理解错的话)
然后如果没有catch的话,注意要写finally不然格式报错,具体可以看下下面的代码
import java.util.Scanner;
public class one {
{
System.out.println("ajkdjak");
}
public static void main(String[] args ){
one o = new one();
Scanner input = new Scanner(System.in);
int a,b;
try{
System.out.print("输入第一个数:");
a = input.nextInt();
System.out.print("输入第二个数:");
b = input.nextInt();
System.out.println("他们的商为:" + a / b);
}finally {
System.out.println("这是结束点1");
}
System.out.println("这是结束点2");
}
} 你可以自己运行下,最后一条输出语句在上面的写法中是输不出来的,不过稍微修改下就可以了
import java.util.Scanner;
public class one {
{
System.out.println("ajkdjak");
}
public static void main(String[] args ){
one o = new one();
Scanner input = new Scanner(System.in);
int a,b;
try{
System.out.print("输入第一个数:");
a = input.nextInt();
System.out.print("输入第二个数:");
b = input.nextInt();
System.out.println("他们的商为:" + a / b);
}catch(Exception e) {
System.out.println("这是结束点1");
}
System.out.println("这是结束点2");
}
} 然后如果你要它抛出下是什么导致的异常,可以这么写
import java.util.Scanner;
public class one {
{
System.out.println("ajkdjak");
}
public static void main(String[] args ){
one o = new one();
Scanner input = new Scanner(System.in);
int a,b;
try{
System.out.print("输入第一个数:");
a = input.nextInt();
System.out.print("输入第二个数:");
b = input.nextInt();
System.out.println("他们的商为:" + a / b);
}catch(Exception e) {
System.out.println("这是结束点1");
e.printStackTrace();
}
System.out.println("这是结束点2");
}
} 然后注意下,错误可能抛得到处都是,所以没必要纠结
我不知道有没有和我一样当初为了学算法第四版,直接下载的第四版的jetbrain,然后直接在类中写,可以写出下面这样的语句
public A {
Scanner input = new Scanner();
} 但是写不出
public A {
Scanner input = new Scanner();
System.out.pritlen("");//这条语句你写不出来
} 不要怀疑,建议在主函数里输出函数,不要在类中直接写,你如果真的想写的话,那就写成下面这个样
public A {
{
Scanner input = new Scanner();
System.out.pritlen("");
}
} 然后因为上面这个原因,我把我原来的jetbrain给卸载了,直接装了终极版,然后我还写出了这样的东西
public class one {
{
System.out.println("ajkdjak");
}
public static void main( ){
one o = new one();
Scanner input = new Scanner(System.in);
int a,b;
System.out.print("输入第一个数:");
a=input.nextInt();
System.out.print("输入第二个数:");
b=input.nextInt();
System.out.println("他们的商为:"+a/b);
}
} 然后我找了半天没找到编译的按钮,然后run的按钮也没有,让我百思不得其解,后来发现是我忘记在main里加这个String[] args导致的错误………………绝了



