十個のよくあるJava異常発生原因について話します。


異常はJavaプログラムの中でよく発生する問題です。Javaプログラマーは異常を嫌うと思います。異常はBUGです。多くの時間をかけて異常問題を特定します。
1、Null PointerException
空のポインターが異常で、nullオブジェクトを操作する方法や属性があると投げられます。上の文章を具体的に見てください。空のポインターがよくある例です。
2、アウトレットfMemoryError
メモリに異常が発生しました。これはプログラムで制御できるものではなく、割り当てたい対象のメモリが現在の最大のヒープメモリを超えています。ヒープメモリのサイズを調整する必要があります。
3、IOException
IO、すなわち:input、output、私たちはディスクファイル、ネットワークコンテンツを書く時によく発生する異常であり、この異常は検査異常であり、手動で捕獲する必要があります。
ファイルの読み書きなら、IOExceptionを抛り出します。

 public int read() throws IOException
 public void write(int b) throws IOException
4、FileNot FoundException
ファイルに異常が見つかりませんでした。ファイルが存在しないとこのような異常が発生します。
入出力ファイルの流れを定義すると、ファイルにエラーがありません。

 public FileInputStream(File file) throws FileNotFoundException
 public FileOutputStream(File file) throws FileNotFoundException
FileNotFoundExceptionは実はIOExceptionのサブクラスであり、同様に検査異常であり、手動で捕獲する必要がある。
5、Class Not FoundException
クラスには異常が見つけられません。Java開発でよく出会うのは絶望的ですか?これはクラスをロードする時に投げたものです。つまりクラスパスで指定されたクラスをロードできません。
例を見てください

public static <T> Class<T> getExistingClass(ClassLoader classLoader, String className) {
 try {
   return (Class<T>) Class.forName(className, true, classLoader);
 }
 catch (ClassNotFoundException e) {
   return null;
 }
}
これは検査された異常で、手動で捕獲する必要があります。
6、Class CastException
クラス転換が異常で、このクラスではないインスタンスをこのクラスに変換すると、この異常が発生します。
一つの数字を強制的に文字列に変換するとこの異常を報告します。

Object x = new Integer(0);
System.out.println((String)x);
これは運転中の異常です。手動で捕獲する必要はありません。
7、NoSuchMethodException
この方法は異常ではありません。一般的には反射呼び出し方法の時に発生します。

public Method getMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException {
  checkMemberAccess(Member.PUBLIC, Reflection.getCallerClass(), true);
  Method method = getMethod0(name, parameterTypes, true);
  if (method == null) {
    throw new NoSuchMethodException(getName() + "." + name + argumentTypesToString(parameterTypes));
  }
  return method;
}
これは検査された異常で、手動で捕獲する必要があります。
8、IndexOutOf Bounds Exception
インデックスが境界を越えています。文字列や配列を操作するときによく発生する異常です。
例:ArayList配列には要素がありません。最初の要素を取得したいなら、実行はこのタイプのエラーを報告します。

public class test{
   public static void main(args[] ){
     List<String> list = new ArrayList<>();
     System.out.println(list.get(0));
   }
}  
動作中は異常です。手動で捕獲する必要はありません。
9、ArthmeticException
算数の異常は、数字の算術演算時の異常で、一つの数字を0で割るとこのエラーが発生します。

double n = 3 / 0;
この異常は運転中の異常ですが、手動で捕獲してカスタマイズされた異常を打ち出すことができます。

public static Timestamp from(Instant instant) {
  try {
    Timestamp stamp = new Timestamp(instant.getEpochSecond() * MILLIS_PER_SECOND);
    stamp.nanos = instant.getNano();
    return stamp;
  } catch (ArithmeticException ex) {
    throw new IllegalArgumentException(ex);
  }
}
10、SQLException
SQL異常は、データベース操作時の異常です。
以下のように接続を取得します。

public Connection getConnection() throws SQLException {
  if (getUser() == null) {
    return DriverManager.getConnection(url);
  } else {
    return DriverManager.getConnection(url, getUser(), getPassword());
  }
}
または次のレコードを取得する場合:

1 boolean next() throws SQLException;
これは検査された異常で、手動で捕獲する必要があります。
以上述べたように、小编でご绍介した十个のよくあるJava异常発生原因を详しく整理し、皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。