见识Throwable主要子类,否则,Java人生是不完整的。
返回 Java编程练习目录
1.StackOverflowError
递归求和,可以诱发JVM抛出java.lang.StackOverflowError。
package API.exceptions;
/**
* StackOverflow.java:
* 递归求自然数列的和,演示StackOverflowError.
* @author (yqj2065)
* @version (0.1)
*/
public class StackOverflow{
static long sum1(long n) {//15000
return (n == 1)? 1:( n + sum1(n - 1) );
}
//貌似相同
static long sum2(long n) {
return (n == 1)? 1:( sum2(n - 1) + n );
}
static void foo(){
System.out.println("sum2 "+sum2(15000));//ok
System.out.println("sum1 "+sum1(15000));
}
}
2.java.lang.NullPointerException
最常见的异常。tips.Print.pln(char[] arr)调用后System.out.println( char[])
public static void bug() {
System.out.println(new char[]{'1', '2', '3'});
pln(new char[]{'1', '2', '3'});
char[] cs = null;
pln(cs);//java.lang.NullPointerException
System.out.println(cs);
}