親クラス : Throwableを(投げられます)
2つのサブクラスがあります。エラー(エラー) 例外(異常)
エラーがすべて間違ったクラスの親である、例外は、すべての例外クラスのスーパークラスです。
図示のように:
フォーマット:
{お試しください
コードのブロックを検出する必要があります。
}キャッチ(例外クラス変数名){
コードを例外処理。
}最後に{
ブロックを実行する必要がありますステートメント。
}
試してみてください.....キャッチ.....最後に実行シーケンス:
1、試して異常ブロックが、しようとしないで実行スキップブロックの完了後にキャッチブロックを、最後の実行最後に
2、のtry ブロック異常時には、試す操作で例外、直接ジャンプにブロックをキャッチブロック、そして最終的に最後の実行最後に
図3に示すように、場合のtry ブロックと、複数のキャッチ異常が発生したブロックMSは、第1および例外オブジェクトマッチングの実装のみキャッチブロックは、残りのキャッチブロックは、すべて無視されます。
4は、中のtry ブロックとキャッチブロックがあり、リターン文が、最終的に文ブロックは、メソッドが戻る前に実行されます。
5 、仮想マシンのオフ、でSystem.exit(0); 最後にブロックが実行されません。
特殊なケース:試しに対応する複数のキャッチは、親クラスステートメントブロックがある場合は、下にある必要があります
異常に分けます:
1、コンパイルの異常(異常):開発者が対処する必要があり、それ以外の場合はコンパイルされません(強制でください... catch )
2、実行時例外(チェックされない例外):開発者が処理できる扱われていないがコンパイルできた場合、あなたは、に対処することはできません。(必須ではありません、せずに、正しいにエラーを見つけください... catchを)
一般的な異常(すべての実行時例外があるのRuntimeExceptionのサブクラス):
1、ArithmeticException 算术异常,在执行数学运算时,进行了非法操作时抛出(除零)
2、ArrayIndexOutofBoundsException 数组下标越界异常,在访问数组元素时,使用了非法的下标(负数,大于或等于数组长度)抛出。
3、ClassCastException 类型转换异常,当大类型强转为小类型时,小类型的变量无法引用大类型变量所指向对象时抛出。
4、NullPointerException 空指针异常,当对null值调用属性或方法时抛出。
5、NumberFormatException 数字转换异常,将字符串转化为数字类型时,字符串不是合法的数字格式时抛出。
6、Java.Util.regex.patter nSyntaException 正则表达式格式异常。当运用正则表达式验证时,正则表达式书写错误时抛出。
7、Java.Io.FileNotFoundException 操作文件流时,目标文件不存在时抛出
8、Java.io.NotSerializableException 在通过对象流传输对象时,对象没有实现序列化接口时抛出。
9、Throw new Exception();创建异常对象,并抛出。
10、Java.lang,ClassNotFoundException 加载类时,指定路径的类不存在时抛出。