사용자 정의 예외 요약

2655 단어
  • 주의: 번역 이상에 대해 시스템은 아무것도 상관하지 않고 모든 업무는 우리 스스로 해야 한다(이상 던지기, 이상 처리, 이상 성명 등)
  • 사용자 정의 이상: 이상 클래스를 정의합니다. Exception 내부에 이상한 기본 내용이 있기 때문에 Exception을 직접 계승하면 됩니다
  • 사용자 정의 이상이 필요한 질문은 무엇입니까?
  • 답: 시스템에 정의된 이상이 없습니다. 우리 스스로 정의해야 합니다. 우리가 해결한 것은 시스템 이상이 처리하지 않은 문제입니다
  • 실례: 음수 이상 주문 이상 사용자 정보 이상 제외
  • 분석: 1.사용자 정의 이상 클래스
  • 2.제법 연산을 할 때 스스로 이상을 던졌다
  • 3.이상 처리

  • package com.qianfeng.test;/* * 사용자 정의 이상 클래스 실례: * 선생님이 컴퓨터로 수업 * 선생님이 수업 중 이상 * 수업 중 컴퓨터에 파란색 스크린 또는 연기가 나는 이상 * 분석: 이상 클래스: 선생님이 수업 이상, 연기가 나는 이상, 파란색 스크린 이상 * 일반 클래스: 선생님 클래스, 컴퓨터 클래스 */
    public class Demo12_ver2 { public static void main(String[] args){ Computer3 computer3 = new Computer3(); computer3.status = 2; Teacher3 teacher3 = new Teacher3(computer3);
        try{
            teacher3.work();
            // teacher3.work() , 
        }catch(StopClassing e){
            e.printStackTrace();
            System.out.println(" ");
        }
    }
    

    }
    class Teacher3{ private Computer3 computer3; public Teacher3(Computer3 computer3){ this.computer3 = computer3; } public void work ()throws StopClassing {try {computer3.computerWork ();/여기 있는catch는 모든 컴퓨터Work ()의 이상 유형을 포착합니다}catch (LanPExceptione) {//() 의 LanPExceptione는 던져진 이상을 받아들이고 e를 인용하여 호출하는 방법 (즉 이상 처리), 아래 같은 이치 e.printStackTrace ();컴퓨터 3.reset ();}catch(MaoYException e) {e.printStackTrace();throw new StopClassing("수업 이상");}catch(Exception e) {//Exception을 포함하는 catch를 모든catch의 맨 아래 e.printStackTrace();}}class Computer3 {int status;public void reset () {System.out.println ("컴퓨터를 다시 시작하십시오!");}public void computerWork ()throws Exception//이상 설명, 이 등급은 아래에 제시한 이상 등급보다 높습니다.또한 이상을 제거할 때 이곳의 이상 등급과 아래에 던져진 이상 등급은catch에 포착되어야 합니다 {switch(status) {//이곳의 모든 이상은 하나의 클래스입니다. 모두 Exception의 하위 클래스이기 때문에 상위 클래스를 계승하고 파라미터가 있는 하위 클래스를 초기화해야 합니다 0: throw new LanPException ("블루스크린 이상");//이상을 던지면 new는 대상을 만들고 첫 번째 주소로 되돌아오기 때문에 LanPException이 클래스case1:throw new MaoYexception("연기 이상")임을 간접적으로 증명할 수 있습니다.default: System.out.println("컴퓨터 정상");break; } } } class LanPException extends Exception {/Exception 클래스에는 몇 가지 구조 방법이 있습니다. 이 중 하나를 초기화하는 것을 가리킵니다.
    public LanPException(String message) {
        super(message);
    }
    

    }
    class MaoYException extends Exception{
    public MaoYException(String message) {
        super(message);
    }
    

    }
    class StopClassing extends Exception{
    public StopClassing(String message) {
        super(message);
        // TODO Auto-generated constructor stub
    }
    

    }

    좋은 웹페이지 즐겨찾기