연구 노트 : Java 오류 및 예외

오류

하드웨어 또는 운영 체제 오류

이상

프로그램 오류로 인해 정상적인 제어 흐름을 벗어난 조치.
예외 포착
(1) 보호 된 영역 : 예외를 생성 할 수있는 코드 조각, 이러한 예외를 처리하기 위해 코드를 따르십시오.
(2) Java는 try {} 블록을 사용하여 예외를 발생시킬 수있는 예외를 배치하고 catch를 사용합니다. 블록은 try 블록이 던진 모든 예외를 캡처하고 finally 블록을 사용하여이를 지 웁니다.

try{
    
       检查语句序列;}
catch(Exception ex){
    
        异常发生的处理语句 }
finally{
    
        一定要执行的语句}

일반적인 예외

RuntimeException
잘못된 유형 변환 배열 첨자가 범위를
벗어남 null 포인터 액세스 IOExeption
은 파일 끝을 넘어 존재하지 않는 파일에서 데이터를 읽어 EOFException을 계속 읽기 위해 존재하지 않는 URL에 연결합니다.

예를 들면

public class Test01{
    
    
    public static void main(String[] args){
    
    
        String friends[] = {
    
    "lisa","bily","kessy"};
        try{
    
    
            for(int i=0;i<5;i++) {
    
    
                System.out.println(friends[i]);
            }
        }catch(ArrayIndexOutOfBoundsException e){
    
    
            System.out.println("index err");
        }
        System.out.println("\nthis is the end");
    }
}
程序Test01运行结果:lisa    bily    kessy
        index err this is the end   

public class DivideZero1{
    
    
    int x;
    public static void main(String[] args) {
    
    
        int y;
        DivideZero1 c=new DivideZero1();
        try{
    
    
            y=3/c.x;
        }
        catch(ArithmeticException e){
    
    
            System.out.println("divide by zero error!");
        }
        System.out.println("program ends ok!");
    }
}
程序DivideZero1运行结果:
        divide by zero error!
        program ends ok!


예외 선언

예외 발생을 선언하는 것은 Java에서 예외를 처리하는 두 번째 방법입니다.
메소드 (문이 실행될 때)가 어떤 종류의 예외를 생성 할 수 있지만 이러한 예외를 처리하는 방법이 확실하지 않은 경우이 메소드는 예외가 발생 함을 명시 적으로 선언해야합니다. 예외는 메서드가 이러한 예외를 처리하지 않지만 메서드 호출자가 처리를 담당 함을 나타냅니다.
메서드 선언에서 throws 절을 사용하여 throw 된 예외 목록을 선언 할 수 있습니다. throws 이후의 예외 유형은 메서드 또는 부모 클래스에서 생성 된 예외 유형일 수 있습니다.
예외 예를 선언하십시오.

public void readFile(String file)  throws FileNotFoundException {
    
    
        ……
        // 读文件的操作可能产生FileNotFoundException类型的异常
        FileInputStream fis = new FileInputStream(file);
        ..……
        }

수동으로 예외 발생

Java 예외 클래스 객체는 프로그램 실행 중 예외가 발생하면 시스템에서 자동으로 생성 및 throw하거나 필요에 따라 수동으로 생성 및 throw 할 수 있습니다.
먼저 예외 클래스 개체를 생성 한 다음 throw 문을 통해 throw 작업을 구현합니다 (Java에 제출하여 실행). 주위).
IOException e = new IOException ();
throw e;
throw 될 수있는 예외는 Throwable 또는 해당 하위 클래스의 인스턴스 여야합니다. 다음 문은 컴파일 시간에 구문 오류를 생성합니다.

public class Test01{
    
    
    public void regist(int num) throws MyException {
    
    
        if (num < 0)
            throw new MyException(“人数为负值,不合理”,3);
        else
            System.out.println("登记人数" + num );
    }
    public void manager() {
    
    
        try {
    
    
            regist(100);
        } catch (MyException e) {
    
    
            System.out.print("登记失败,出错种类"+e.getId());
        }
        System.out.print("本次登记操作结束");
    }
    public static void main(String args[]){
    
    
        Test8_6 t = new Test8_6();
        t.manager();

연결된
springBuffer 사용 사례

package tyichang;

public class E18 {
    
    
    public static void main(String[] args) {
    
    
        System.out.println("------------------------");
        add();
        System.out.println("------------------------");
        update();
        System.out.println("------------------------");
        delete();
    }

    public static void add() {
    
    
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("ABC");
        System.out.println(stringBuffer);
        stringBuffer.append("HER");
        System.out.println(stringBuffer);
        stringBuffer.insert(1, "de");
        System.out.println(stringBuffer);

    }

    public static void update() {
    
    
        StringBuffer stringBuffer = new StringBuffer("AAAAAAA");
        stringBuffer.setCharAt(2, 'C');
        System.out.println(stringBuffer);
        stringBuffer.replace(3, 5, "de");
        System.out.println(stringBuffer);
        System.out.println(stringBuffer.reverse());
    }

    public static void delete(){
    
    
        StringBuffer stringBuffer = new StringBuffer("AAVAAAAA");
        stringBuffer.delete(3,5);
        System.out.println(stringBuffer);
        stringBuffer.deleteCharAt(2);
        System.out.println(stringBuffer);
        stringBuffer.delete(0,stringBuffer.length());
        System.out.println(stringBuffer);
    }
}

추천

출처blog.csdn.net/qq_44909275/article/details/105481330