1)自定义的异常类:只要继承于Exception类或其他“捕获异常(在前面异常处理中有说明)”类(《Java by Dissection》中建议:一般不要从RuntimeException或Error继承,否则会减弱类型检查带来的优势)。
2)throw语句:throw reference;,其中reference的类必须是java.lang.Throwable的子类。
3)throws子句:必须用throws声明要抛出的“捕获异常”,才可以通过throw抛出。
void a(int b) throws MyException
{
if(b==1) throw new MyException();
}