用com.qf.test Package変更; / * *使用したカスタム例外が解決 * *タイトル:教師はクラス内のコンピュータを使用 するクラスは、コンピュータに異常---再起動したときに発生する可能性があります*コンピュータブルースクリーンを クラスで*クラッシュ異常異常---- ----教師を-コンピュータを修復するためにアップルストアに行く * *注:適切な場合trycatch使用して? メソッド呼び出しの例外が発生する可能性がありますとき*適切な使用 * * / パブリック クラスDemo10 { 公共の 静的な 無効メイン(文字列[] args)を{ Teacher1 teacher1 = 新しい新しい Teacher1を(新しい新しいコンピュータ()); 試み{ teacher1.work(); } キャッチ(ClassingException E){ e.printStackTrace(); システム。アウト.println(" 去中关村修电脑" )。 } } } // 创建三个异常类 クラスClassingExceptionが延びる例外{ パブリックClassingException(){} 公共ClassingException(文字メッセージ){ スーパー(メッセージ)。 } } クラスLanPingExceptionは延び例外{ パブリックLanPingException(){ } 公共LanPingException(文字メッセージ){ スーパー(メッセージ)。 } } クラスMaoYanExceptionは、例外{延び MaoYanExceptionを(){公共 } 公共MaoYanException(文字メッセージ){ スーパー(メッセージ)。 } } クラスTeacher1 { コンピュータのコンピュータ、 公共Teacher1(コンピュータコンピュータ){ スーパー(); この .computer = コンピュータ; } // 老师上课 公共 ボイドワーク()ClassingExceptionスロー { 試みる{ (computer.computerWork)を、 } キャッチ(LanPingException電子){ e.printStackTrace(); computer.reset(); } キャッチ(MaoYanException E){ e.printStackTrace(); スロー 新しい新 ClassingException(" 教師のクラスが続行できません" ); } キャッチ(例外E){ e.printStackTrace(); } } } クラスのコンピュータ{ // 現在の状態値を設定します2.発生する青い煙の1異常代表 int型のステータス= 2 ; // 再開方法 公共 ボイドRESET(){ 。システムOUT .println(「コンピュータを再起動を」); } // コンピュータワーク 公共 無効computerWorkは()LanPingException、MaoYanExceptionスロー { スイッチ(ステータス){ ケース 1。 :// 青 スロー 新しい新 LanPingException(" コンピュータのブルースクリーン" ); // BREAK; ケース 2:// 喫煙 スロー 新しい新しい MaoYanExceptionを(「PCの喫煙を" ); // BREAK; デフォルト: BREAK ; } } } // :注目点例外を書き換える処理で使用されます / * * = <親クラスを宣言し、同じ名前のサブクラスによって異常のための方法 サブクラス2.同じ方法で異常が親クラスと一致しないことが宣言*は、異例の声明。サブクラスではないかもしれないが、今回メソッドが例外をスローすることはできません サブクラスの例外ステートメントの同じメソッド場合* 3を、親は例外宣言する必要があります。 * / クラスコンピューター{拡張BadComputer 公共 ボイドcomputerWorkを() { } }