【校招VIP】异常处理:try-catch

3天前 收藏 0 评论 0 java开发

【校招VIP】异常处理:try-catch

转载声明:文章来源 https://blog.csdn.net/Zzysq/article/details/112774214

异常处理

>目录:

①什么是异常
②异常处理的标准格式、语法
③try+catch的处理流程

> 一、什么是异常?

异常是在程序中导致程序中断运行的一种指令流。
例如,现在有如下的操作代码:

public class ExceptionDemo01{
public static void main(String argsp[]){
int i = 10 ;
int j = 0 ;
System.out.println("============= 计算开始 =============") ;
int temp = i / j ; // 进行除法运算
System.out.println("temp = " + temp) ;
System.out.println("============= 计算结束 =============") ;
}
};

> 运行结果:
============= 计算开始 =============
Exception in thread “main” java.lang.ArithmeticException: / by zero
at ExceptionDemo01.main(ExceptionDemo01.java:6)

以上的代码在“int temp = i / j ;”位置处产生了异常,一旦产生异常之后,异 常之后的语句将不再执行了,所以现在的程序并没有正确的执行完毕之后就退出了。
那么,为了保证程序出现异常之后仍然可以正确的执行完毕,所以要采用异常的处理机制。

> 二、处理异常
如果要想对异常进行处理,则必须采用标准的处理格式,处理格式语法如下:
try{
// 有可能发生异常的代码段
}catch(异常类型1 对象名1){
// 异常的处理操作
}catch(异常类型2 对象名2){
try+catch的处理流程
finally
异常体系结构
// 异常的处理操作
} …
finally{
// 异常的统一出口
}
try+catch的处理流程
1、 一旦产生异常,则系统会自动产生一个异常类的实例化对象。
2、 那么,此时如果异常发生在try语句,则会自动找到匹配的catch语句执行,如果没有在try语句中,则会将异常抛出.

> 三、try+catch的处理流程
所有的catch根据方法的参数匹配异常类的实例化对象,如果匹配成功,则表示由此catch进行处理。
举例不做异常处理的代码如下:

package com.kaikeba.hh;

import java.util.Scanner;

public class Demo6 {
public static void main(String[] args) {
hh();
}
public static void hh(){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数字");
int x = input.nextInt();
System.out.println("请再输入一个数字");
int y = input.nextInt();
System.out.println(x/y);
System.out.println("运算结束!");
}
}

当我们不做异常处理时,如果我们输入的除数,被除数不是整数时,会提示输入有问题的提示InputMismatchException.如果输入的除数为0时,会出现算术异常的错误。展示除数为0的运行结果显示图:

接着我们可以在输入之前就做异常处理:
代码如下:

import java.util.InputMismatchException;
import java.util.Scanner;

public class Demo6 {
public static void main(String[] args) {
hh();
}
public static void hh(){
try {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数字");
int x = input.nextInt();
System.out.println("请再输入一个数字");
int y = input.nextInt();
System.out.println(x/y);
System.out.println("运算结束!");
}catch (InputMismatchException e){
System.out.println("您好,只能输入数字!");
}catch (ArithmeticException e){
System.out.println("您好,除数不能为0!");
}

}
}

那么我们之前不论书的是字符还是除数为0,都会给我们做出处理结果:
这里以除数为0展示:

居中的图片:

居中并且带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

项目

      项目

             项目


  1. 项目1
  2. 项目2
  3. 项目3


计划任务
完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右
使用:---------:居中
使用:----------居左
使用----------:居右
第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML 
 Single backticks 'Isn't this fun?'  ‘Isn’t this fun?’
 Quotes "Isn't this fun?" “Isn’t this fun?”
 Dashes -- is en-dash, --- is em-dash  – is en-dash, — is em-dash


创建一个自定义列表

Markdown

        Text-to- HTML conversion tool

Authors

         John

         Luke


如何创建一个注脚
一个具有注脚的文本。1

注释也是必不可少的
Markdown将文本转换为 HTML。

KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N是通过欧拉积分

新的甘特图功能,丰富你的文章

关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

这将产生一个流程图。:

关于 Mermaid 语法,参考 这儿,


FLowchart流程图

我们依旧会支持flowchart的流程图:

关于 Flowchart流程图 语法,参考 这儿.


导出与导入

导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,继续你的创作。

C 0条回复 评论

帖子还没人回复快来抢沙发