1.いくつかの異常を列挙する
(1)java.lang。NullPointerException(Null Pointer Exception)
(2)java.lang.ClassNotFoundException(class not found例外)
(3)java.lang .NumberFormatException(数値フォーマット例外)
(4)java.lang.IndexOutOfBoundsException(範囲外の配列のインデックス例外)または(範囲外の配列のインデックス例外)
(5)java.lang .IllegalArgumentException(不正なパラメータ例外)
(6)java.lang.ClassCastException(クラス変換例外)
(7)java.lang.NoClassDefFoundException(クラス未定義例外)
(8)SQLException(SQL例外)オペレーションデータベース例外
(9)java.lang.IOException(io例外)
(10)java.lang .NoSuchMethodException(一致する例外なし)
public class TestException { public static void main(String [] args) throws IOException、ClassNotFoundException { / ** --- 1-4ランタイム例外:右クリックでのみ実行して例外を表示できる---- * / // 1 NullポインタException NullPointerException // String str = null; // System.out.println(str.length()); // str nullポインタ // 2数値フォーマット例外NumberFormatException //文字列num = "b123"; //数値解析= Integer.parseInt(num); // System.out.println(parse); /// 3配列の範囲外の例外ArrayIndexOutOfBoundsException // int [] arr = new int [3]; // System.out.println( arr [5]); // 4型変換例外ClassCastException
//オブジェクトobj = 123;
//文字列objStr =(String)obj;
/ ** --- 5-7コンパイル時の例外:ソースコードを処理する必要がある---- * /
// 5ファイルが例外を見つけられないFileNotFoundExceptionを
OutputStreamをアウト=新しいのFileOutputStream(新しいファイル( "" ));
// 6 IO例外のIOException
out.write(65);
// 7クラスは、例外ClassNotFoundExceptionが見つけることができません
クラスを。にforName( "com.czxy.Hello");
}
}
2. エラーと例外の違いは何ですか?
1、例外はtry..catchによってキャッチされるか、それに応じて処理されるか、または呼び出し側によって処理されるためにスローされます。
2、エラーを制御できない、処理できない
3.ランタイム例外とチェック例外の類似点と相違点は何ですか?
コンパイル時例外とも呼ばれるチェック済み例外を処理する必要があります(トライキャッチまたはスロー)
実行時例外、つまりチェックされない例外は、処理することも処理しないこともできます。
4.例外をカスタマイズする方法
カスタムチェック可能な例外クラス。例外クラスを継承します。
カスタムランタイム例外クラス。RuntimeExceptionクラスを継承します。
5. final、finally、finalizeの違い
(1)最終:モディファイア。
A)クラスがfinalとして宣言されている場合、それは新しいサブクラスを派生できなくなり、親クラスとして継承できないことを意味します。
B)変数またはメソッドをfinalとして宣言すると、使用中にそれらが変更されないようにすることができます。
C)finalと宣言されたメソッドは使用のみ可能であり、書き換えることはできません。
(2)最後に:例外処理メカニズムの一部
A)finally構造は、例外があるかどうかに関係なく、コードを常に実行させます。
B)リソースを解放するために、finallyを使用することがよくあります。
(3)Finalize:Javaのガベージコレクターによって実行されるメソッド。
A)java.lang.Objectクラスに属するメソッドです。
B)このメソッドは、ガベージコレクターがオブジェクトを収集するために実行されるときに呼び出されますが、ガベージコレクションgc()を呼び出した後、コレクションをすぐに実行することはできず、JVMはアルゴリズムに従って定期的にコレクションを実行します。
●最終
public final class HelloFinal {
/ *
public final String str = "jack";
public void demo(){ //1.B変数またはメソッドをfinalとして宣言すると、使用中に変更されないことを保証でき ますstr = "rose" ; } * /}/ *// 1.最終的に変更されたクラスは、Son extends HelloFinal {}クラス から継承できません
public class HelloFinal2 { public final void demo(){ }} / * クラスSon2 extends HelloFinal2 { //1.C finalと宣言されたメソッドは、使用のみ可能であり、書き換えることはできません。 @Override public void demo(){ super.demo(); } } * /
● ようやく
試す { システム。アウト .println();}キャッチ(例外e){ e.printStackTrace();}最後に { //リソースを解放します }
目次
3.ランタイム例外とチェック例外の類似点と相違点は何ですか?