Java学习-异常处理

java学习日常

异常处理

Java程序中的错误可以分为三种:
① syntax 语法错误
② semantics 语义错误(逻辑错误)
③ runtime 运行时错误
Java语言针对程序运行时错误设计了专门的异常处理机制,即try-catch机制。Java API为异常处理机制提供描述不同异常情况的异常类。(try-catch机制将在后面的博客中详细介绍)

1.语法错误
(示列代码如下:)

package textclass;

import java.util.Scanner;

public class SyntaxError {//先定义一个存在语法错误的类
	
	int Div(int n)        //自定义一个非静态成员方法
	{
		int result;
		result=100/n;
		return result;
	}

	public static void main(String[] args) {                     
        int N;
        Scanner sc=new Scanner(System.in);   //实例化一个Scanner键盘扫描器类的对象
        N=sc.nextInt();
        int retValue=Div(N);                 //语法错误:静态方法不能调用实例方法
        System.out.println("100÷"+N+"="+retValue);
	}
}

下面是编译后给出的错误提示:
报错SyntaxError.java:18
表示错误的类型和所在行数
Cannot make a static reference to the non-static method Div(int) from the type SyntaxError
提示函数主方法是静态方法不能访问实例方法DIV(int)这是语法错误
(注:静态方法之所以不能访问实例方法,是因为静态变量(字段)不能访问实例变量,而实例方法有可能会间接访问实例变量)

2.语法错误
代码举例:

package textclass;

import java.util.Scanner;

public class SyntaxError {//先定义一个存在语法错误的类
	
	static int Div(int n)        //自定义一个非静态成员方法
	{
		int result;
		result=100*n;          //语义错误(逻辑错误)将除法写成乘法,语法正确但语义错误
		return result;
	}

	public static void main(String[] args) {                     
        int N;
        Scanner sc=new Scanner(System.in);   //实例化一个Scanner键盘扫描器类的对象
        N=sc.nextInt();
        int retValue=Div(N);                
        System.out.println("100÷"+N+"="+retValue);
	}

}

代码执行结果:
在这里插入图片描述正确结果应该是:
100÷2=50
Java编译器不能帮助程序员发现语义(逻辑)错误,不会有报错提示,这个时候就需要程序员自己通过运行测试,来发现错误。

3.运行时错误
代码举例:

package textclass;

import java.util.Scanner;

public class SyntaxError {//先定义一个存在语法错误的类
	
	static int Div(int n)        //自定义一个非静态成员方法
	{
		int result;
		result=100/n;        
		return result;
	}

	public static void main(String[] args) {                     
        int N;
        Scanner sc=new Scanner(System.in);   //实例化一个Scanner键盘扫描器类的对象
        N=sc.nextInt();
        int retValue=Div(N);                
        System.out.println("100÷"+N+"="+retValue);
	}

}

运行结果
在这里插入图片描述报错显示不能被“0”除
程序运行时,因运行环境差异或用户操作不当造成的程序运行是错误统称为程序运行时错误。发现错误的过程又称之为“抛异常”,所以要通过异常处理机制来处理异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值