これは、スロー、キャッチ、アサート、ロギングなどの基本的な例外処理を紹介する小さな例です。
Java 例外処理は、try、catch、throw、throws、finally の 5 つのキーワードによって管理されます。基本的なプロセスは、try ステートメント ブロックで監視するステートメントをラップすることです。try ステートメント ブロック内で例外が発生した場合、コードはその例外をキャプチャし、catch ステートメント ブロックで処理します。以下の一部のシステム生成例外は、Java の実行中に自動的にスローされます。また、 throws キーワードを使用して例外をスローするメソッドを宣言し、メソッド内で throw を使用して例外オブジェクトをスローすることもできます。
次のようにコードをコピーします。
パッケージcom.hongyuan.test;
インポート java.io.IOException;
インポート java.util.logging.Level;
java.util.logging.Loggerをインポートします。
パブリック クラス ExceptionHandleTest {
静的{
// アサーションを有効にすると、システム クラス ローダーによってロードされたクラスのアサーションが有効になります。
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
}
public static void main(String[] args) {
/*
*投げる、捕る
*/
試す {
TryCatchTest.run(10, -1);
} キャッチ (IOException e) {
e.printStackTrace();
}
System.out.println("========================================== = ==========);
//ログ
LogerTest.run();
System.out.println("========================================== = ==========);
//アサーション
AssertTest.div(3,0);
}
}
/*
* アサーション
*/
クラス AssertTest {
public static double div(int b,int a){
assert a!=0: "小学校の先生はあなたがこれを使っているかどうか知っていますか?";
(倍精度)b/a を返します。
}
}
/*
* ログ
*/
クラス LogerTest {
プライベート静的ロガー logger=null;
静的{
//ログオブジェクトを取得し、ログレベルを定義します
logger=Logger.getLogger(LogerTest.class.getName());
logger.setLevel(Level.ALL);
}
public static void run(){
//メソッドを入力してください
logger.entering(LogerTest.class.getName(), "実行");
//一般情報
logger.info("また迷惑をかけてきました、このアカウントを記録しました!!!");
//警告する
logger.warning("疲れすぎて、この仕事は無理です!!!");
//深刻な
logger.log(Level.SEVERE,"やめました!!!^O^");
//終了メソッド
logger.exiting(LogerTest.class.getName(), "実行");
}
}
/*
*捕まえる、投げる
*/
クラス TryCatchTest {
public static void run(int x,int y) throws IOException {
試してください{//必須
if(x<0||y<0){
throw new IllegalArgumentException("言葉が出ない、どうすればいいのか!!!");
}
}catch(Exception e){//オプション
IOException e1=new IOException("自分で解決できます!");
e1.initCause(e.getCause());
e1 をスローします。
}最後に{//オプション
System.out.println("やっと幸せな生活を送れました!!!(終了)");
}
}
}