使用インタフェース&Javaで(のMyEclipseを使用して)いくつかの異常のJavaの単純な

以下のためのパッケージ変更テスト; //テストという名前のパッケージを作成します。

パブリック クラス A4paper 実装ペーパー{
 公共の文字列のgetSize(){
     リターン "A4" ; //实现接口紙
}
}
パッケージのテスト;

パブリック クラス B5paper 実装ペーパー{
     公共の文字列のgetSize(){
         リターン "B5" ; //实现接口紙
}
}
パッケージのテスト;

パブリック クラス ColorMohe 実装Mohe {
 公共の文字列GETCOLOR(){
     リターン "カラフル" ; //实现接口Mohe
}
}
パッケージのテスト;

パブリック インターフェースMohe {
 パブリック文字列GETCOLOR(); //インターフェイスMoheを作成します
}
パッケージのテスト;

パブリック インターフェース紙{
 パブリック文字列のgetSize(); //インターフェイス紙を作成します
}
パッケージのテスト;

パブリック クラスプリンタ{
 プライベートMoheのmohe。
プライベート紙紙;
公共 のボイドプリント(){
    System.out.println( "用" + mohe.getColor()+ "打印" + paper.getSize()+ "纸")。
}
公共Mohe getMohe(){
     戻りmohe。
}
公共 ボイドsetMohe(Mohe MOHE){
     この .mohe = MOHE。
}
パブリック紙getPaper(){
     戻り紙。
}
公共 のボイドsetPaper(ペーパー紙){
    
    この .paper = 紙; //紙や包装の完全なMohe
}
}
パッケージのテスト;



パブリック クラスのテスト{
 公共 静的 ボイドメイン(文字列[]引数){
    プリンタのプリンタ = 新しいプリンタ();
    Mohe mohe = 新しいWhiteMohe();
    printer.setMohe(mohe)。
    紙の紙 = 新しいA4paper();
    printer.setPaper(紙)。
    printer.printは(); // A4用紙白カートリッジの機能を印刷達成します
}
}
パッケージのテスト;

パブリック クラス WhiteMohe 実装Mohe {
     パブリック文字列GETCOLOR(){
         リターン "白" ; //实现接口Mohe
}
}

カラーコードを実装することができるように、異なる機能が、紙の異なるタイプのカートリッジを印刷します。

ここでは、異常のjava、異常箇所のエラーと例外の話、例外主の話を、多くの共通の異常Javaの例外に次の5つの種類があります

InputMismatchException入力不一致例外
はArithmeticException算術演算例外
は、ArrayIndexOutOfBoundsException配列添字境界例外
NullPointerExceptionがヌル・ポインタ例外
NumberFormatExceptionがデジタルフォーマット変換例外

1.例外をキャッチする方法:使用のtry-catchを、finallyステートメント

パッケージTEST1。
輸入 java.utilの。* ;
インポートjava.util.Scanner;

パブリック クラスDemo00 {
     公共 静的 ボイドメイン(文字列[]引数){
 試み{
    スキャナスキャナ = 新しいスキャナ(System.in)。
    System.out.println( "" );
    INT NUM1 = scanner.nextInt()。
    INT NUM2 = scanner.nextInt()。
    System.out.println(NUM1 + "/" + NUM2 + "=" + NUM1 / NUM2)。
    System.out.println(「ご利用いただきありがとうございます」);
} 
キャッチ(InputMismatchException電子){
    System.err.println(「入力不一致例外」);
     // TODO自動生成されたブロックキャッチ
    e.printStackTrace();
}
キャッチ(はArithmeticException電子){
    System.err.println( "算术异常" );
    // TODO自動生成されたcatchブロック
    e.printStackTrace();
}
キャッチ(例外e){
    System.out.println( "他の例外" );
     // TODO自動生成キャッチブロック
    e.printStackTrace();
     リターン; //はfinally文の後に実行
}
最終的には{
    System.out.println( "ありがとう" );
}
}
}

上記のコードは、入力除数と分割機能の完了に対応する配当を実装し、ユーザはエラーの種類に対応する入力値を入力した後、コンソールは、どのような赤色のテキストにエラーの表示されます。try文のコード実行順序 - > catch文(ノンリターン) - >最後に - > catch文のリターン

異例の声明を2.throws

ケース:
 パブリック クラスDemo05は{
     // 1.メソッド宣言に異常作成
    、公開 、ボイドショーを()がスロー例外{
         // XXX 
        のSystem.out.println( "*******" );
    }
    
    
    // メソッド呼び出しの第1の実施形態では、発信者が例外である2.スロー
 //     パブリック静的な無効メイン(文字列[]引数)を例外{スロー
 //         )Demo05 demo05新しい新しいDemo05 =(;
 //         demo05.show( );
 //     }
    
    // 3の方法の第2の実施形態では、キャッチ例外しようとキャッチを使用することである
    公共の 静的な 無効メイン(文字列[]引数){
        Demo05 demo05 = 新しいDemo05();
        してみてください{
            demo05.show();
        } キャッチ(例外e){
            e.printStackTrace();
        }
    }
}

3.手投げ例外スロー新しい例外(「」);

案例:
 パブリック クラスDemo06 {
     公共 ボイドショー()スロー例外{
         int型、A = 3 INT B = 1 もし(> B){
            System.out.println( "> B" )。
        } そう であれば(<= B){
            System.out.println( "<= B" )。
        } {
             // 手動で例外
            スロー 新新(「!プログラムに問題がある」例外)。
        }
    }
    
    // パブリック静的な無効メイン(文字列[]引数)が例外をスロー{
     // Demo06 demo06 =新しいDemo06()。
    // demo06.show();
    // }

    パブリック 静的 ボイドメイン(文字列[]引数){
        Demo06 demo06 = 新しいDemo06();
        してみてください{
            demo06.show();
        } キャッチ(例外e){
            e.printStackTrace();
        }
    }
}

 

おすすめ

転載: www.cnblogs.com/yf178570/p/12014398.html