派生于RuntimeException的异常包括一下问题:
其它类异常包括:
public class Son { public void run() throws Exception{ //若代码中,出现异常,我们可以将这个异常抛出,抛给调用者去解决这个问题。 //可以一层一层的抛出,但是终究我们还是要捕获这个异常,解决问题。 //有时候你也会认为,这是一个极其不负责任的做法。???? } }
class 自定义异常类 extends Exception { public 自定义异常类() { } public 自定义异常类(String message) { super(message); } } public class Son { int a = 0; public void sum() throws 自定义异常类 { if(a < 0) throw new 自定义异常类("a不能小于0"); } }
public void test() { try { //可能存在问题的歧义代码 }catch (Exception e) { e.printStackTrace(); }finally { System.out.println("一定会走的代码"); } }
throws:throws关键字用来声明要产生的异常,通常在方法名字后面使用public void run() throws Exception
throw:throw关键字通常抛出异常对象,作用就是抛出异常。throw new 自定义异常类("a不能小于0");
assert关键字:
assert condition;
,assert condition :expression;