異常な
例外(例外):操作中にコードシーケンスで例外が発生します。
例外の種類は次のとおりです。
1.トライキャッチ構造
tryおよびcatchキーワードを使用して、例外をキャッチします。try / catchコードブロックは、例外が発生する可能性のある場所に配置されます。
try / catchコードブロック内のコードは保護コードと呼ばれます。try/ catchを使用するための構文は次のとおりです。
try
{
// 程序代码
}catch(ExceptionName e1)
{
//Catch 块
}
例えば
public static void main(String[] args) {
try{
int num = 5/0;
System.out.println(num);
}catch (ArithmeticException e){
System.out.println("除数不能为零");
}finally {
System.out.println("回收代码资源");
}
try{
String string = null;
System.out.println(string.length());
}catch (NullPointerException e){
System.out.println("数值不能为空");
}finally {
System.out.println("回收代码资源");
}
System.out.println("程序继续执行");
}
2.複数のtry-catch構造
tryコードブロックの後に複数のcatchコードブロックが続く状況は、マルチキャッチと呼ばれます。
try{
// 程序代码
}catch(异常类型1 异常的变量名1){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}catch(异常类型3 异常的变量名3){
// 程序代码
}
例えば
try {
file = new FileInputStream(fileName);
x = (byte) file.read();
} catch(FileNotFoundException f) {
// Not valid!
f.printStackTrace();
return -1;
} catch(IOException i) {
i.printStackTrace();
return -1;
}
3.キーワードを投げる/投げる
メソッドがチェックされた例外をキャッチしない場合、メソッドはthrowsキーワードを使用して宣言する必要があります。throwsキーワードは、メソッドシグネチャの最後に配置されます。
また、throwキーワードを使用して、例外が新しくインスタンス化されたか、キャッチされたかに関係なく、例外をスローすることもできます。
例えば
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
}
import java.io.*;
public class className
{
public void withdraw(double amount) throws RemoteException,
InsufficientFundsException
{
// Method implementation
}
//Remainder of class definition
}
4.最後にキーワード
finishキーワードは、tryコードブロックの後に実行されるコードブロックを作成するために使用されます。
例外が発生するかどうかに関係なく、finallyコードブロック内のコードは常に実行されます。
finallyコードブロックでは、クリーンアップタイプやその他の終了ステートメントを実行できます。
public class ExcepTest{
public static void main(String args[]){
int a[] = new int[2];
try{
System.out.println("Access element three :" + a[3]);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception thrown :" + e);
}
finally{
a[0] = 6;
System.out.println("First element value: " +a[0]);
System.out.println("The finally statement is executed");
}
}
}
最後に、あなたはそれを資源のリサイクルと考えることができます。
5.まとめ
- 操作中に発生するエラーは例外と呼ばれます。
- Javaは、try、catch、throw、throwsを使用し、最後にJava例外を処理します。
- 監視対象のコードはtryブロックに書き込まれ、例外のキャッチと処理に使用されるコードはcatchブロックに書き込まれ、最後に実行する必要のあるコードが配置されます。
- 手動で例外を発生させるには、キーワードthrowを使用できます。メソッドの外部でスローされる例外は、throws句で指定する必要があります。