java 异常处理

简介: 一、异常概述 异常处理是面向对象语言区别于面向过程语言的重要标志之一,异常的出现,可以使我们编写的程序变得强大并且安全。 (ps:面向过程的语言如C语言,就没有异常处理机制) 简单地说,异常时处理错误的机制。

一、异常概述

异常处理是面向对象语言区别于面向过程语言的重要标志之一,异常的出现,可以使我们编写的程序变得强大并且安全。

(ps:面向过程的语言如C语言,就没有异常处理机制)

简单地说,异常时处理错误的机制。

 

1.1 用try-catch处理异常

try…catch是处理异常的两种方法之一,适合处理程序员可以控制和用户输入有误的情况,以起到程序开发顺利进行和避免不必要情况的发生。

import java.util.Scanner;

public class TestException {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        try{
            int a=sc.nextInt();
            int b=sc.nextInt();
            int c=a%b;
            System.out.println("余数是: "+c);
        }catch(Exception e){
            System.out.println("输入有误");
        }
        System.out.println("程序顺利进行中...");
    }
}
/**
 运行结果:
20
0
输入有误
程序顺利进行中...
 */

1.2 用throws处理异常

throws是处理异常的两种方法之一,它的处理方法是将异常抛给上一级处理,如都不能处理,最终抛给虚拟机处理,这个过程我们成为抛异常。这种方法适合比较严重的异常和程序员无法预料或者无法完全避免异常发生的情况,以及无法处理的异常。

//01.在主函数中捕捉
import java.util.Scanner;
public class TestThrows {
    public static void main(String[] args){
        A aa=new A();
        
       
            aa.a();
       
            System.out.println("输入错误");
       
        System.out.println("程序顺利进行中...");
    }
    
}

class A{
    public void a(){
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=a%b;
        System.out.println("余数是: "+c);
    }
}

 

//02.主函数try catch时也不知道怎么处理,则抛给虚拟机
//抛给虚拟机起码可以保证用户的机器不会死机。让程序正常终止。
import java.util.Scanner;
public class TestThrows {
    public static void main(String[] args){
        A aa=new A();
       
        System.out.println("输入错误");
        System.out.println("程序顺利进行中...");
    }
    
}

class A{
    public void a(){
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=a%b;
        System.out.println("余数是: "+c);
    }
}

 

1.3 finally语句

finally语句是起到异常处理出口的作用,用在try…catch语句的最后,无论是否出现异常(catch中的语句是否被执行),finally中的语句都会被执行,这样可以更好的控制程序的走向。

//03.finally语句无论如何都会执行
import java.util.Scanner;
public class TestThrows {
    public static void main(String[] args){
        A aa=new A();
        try {
            aa.a();
        } catch (Exception e) {
            System.out.println("输入错误");
        }
    }
    
}

class A{
    public void a()throws Exception{
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=a%b;
        System.out.println("余数是: "+c);
    }
}
开始做,坚持做,重复做
相关文章
|
1月前
|
Java 程序员
Java 异常处理与正则表达式详解,实例演练及最佳实践
在 Java 代码执行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。 当错误发生时,Java 通常会停止并生成错误消息,这个过程称为抛出异常。 try...catch 语句 try 语句允许您定义一段代码块,并在其中测试是否发生错误。 catch 语句允许您定义一段代码块,当 try 块中发生错误时执行该代码块。 try 和 catch 关键字成对使用,语法如下:
42 0
|
1月前
|
Java 程序员
Java中的异常处理机制
【2月更文挑战第22天】在Java编程中,异常处理是一个重要的概念。它允许程序员在程序执行过程中遇到错误时,对错误进行处理,而不是让程序崩溃。本文将介绍Java中的异常处理机制,包括异常的分类、如何捕获和处理异常以及自定义异常等内容。
18 1
|
1月前
|
Java 程序员 索引
Java中的异常处理:理解、实践与最佳实践
【2月更文挑战第26天】在Java编程中,异常处理是一个重要的概念。它不仅帮助我们在程序出错时提供有关错误的详细信息,而且还允许我们以一种结构化的方式来处理这些错误。本文将深入探讨Java中的异常处理,包括如何创建自定义异常,如何使用try-catch-finally语句块,以及如何在实际编程中应用最佳实践。
26 3
|
1月前
|
Java UED
Java中的异常处理:捕获、声明与抛出
Java中的异常处理:捕获、声明与抛出
54 0
|
1月前
|
Java
Java中的异常处理
Java中的异常处理
14 0
|
1月前
|
Java 编译器 程序员
Java中的异常处理:从基础到高级
【2月更文挑战第24天】本文将深入探讨Java中的异常处理,从基础的try-catch块到高级的异常处理策略。我们将了解如何使用Java的异常处理机制来提高代码的健壮性和可维护性,以及如何处理运行时和编译时的异常。
22 0
|
12天前
|
Java
Java中的throw和throws:异常处理详解
Java中的throw和throws:异常处理详解
20 0
|
19天前
|
Java 程序员 开发者
深入理解Java异常处理机制
在Java编程中,异常处理是确保程序健壮性与稳定性的重要组成部分。本文旨在深度剖析Java异常处理机制的核心概念、结构及其实际应用策略,帮助开发者更好地理解并运用异常处理来优化程序设计。我们将从Java异常体系结构入手,探讨try-catch-finally语句块的执行流程,分析自定义异常的必要性与实现方式,并通过实例演示如何有效地管理和处理异常情况。
23 3
|
24天前
|
Java 程序员 API
Java中的异常处理:理解、实践与最佳实践
在Java编程中,异常处理是一个重要的概念。本文将深入探讨Java中的异常处理,包括其基本概念、如何在实践中应用,以及一些最佳实践。我们将通过实例和代码片段来解析这些概念,以帮助读者更好地理解和应用Java的异常处理。
10 0
|
26天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
90 3