异常-1
异常的处理
如果程序出现了异常,我们就要自己处理,有两种方法
- try...catch...
- throws
/*格式:
try{可能出现的异常代码}catch(异常类名 变量名)
{异常处理的代码}
常用方法:
1. public String getMessage():返回异常原因
2. public String toString():返回异常的类名和原因
3. publci void printStackTrace():返回异常的类名,原因和位置.
*/
public class ExceptionDemo {
public static void main(String[] args) {
System.out.println("Start");
method();
System.out.println("End");
}
static void method(){
try { //和java处理方式一样,但是程序可以跳过异常继续执行.
int arr[] = {1, 2, 3};
System.out.println(arr[3]);
}catch(ArrayIndexOutOfBoundsException a){
//System.out.println("索引越界!");
/*Start
索引越界!
End
*/
a.printStackTrace();//Java默认处理方式
}
}
}
/*
Start
End
java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at ExceptionDemo.method(ExceptionDemo.java:14)
at ExceptionDemo.main(ExceptionDemo.java:8)
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ExceptionDemo1 {
public static void main(String[] args) {
try {
String s = "2023-02-15";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date parse = sdf.parse(s);//异常信息:Unhandled exception: java.text.ParseException
System.out.println(parse);
}catch(ParseException e){ //异常类名 变量名
e.printStackTrace();
}
}
}
// throws 一般处理编译时异常
public class ExceptionDemo1 {
public static void main(String[] args) {
a(); //还需要try...catch...去处理
}
void a () throws ParseException { //抛出异常,让调用者去处理
String s = "2023-02-15";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date parse = sdf.parse(s);//异常信息:Unhandled exception: java.text.ParseException
System.out.println(parse);
}
}
标签:java,String,System,异常,public,out
From: https://www.cnblogs.com/lg369/p/17122211.html