我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java中的自定义异常捕获方式

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java中的自定义异常捕获方式

目录
  • Java 自定义异常捕获
    • 自定义异常类格式如下:
    • 自定义异常类的调用格式如下:
    • 可能出现异常的代码写法如下:
    • 本题完整代码如下:
  • 自定义异常Exception
    • 根据业务需要不用的异常打印不用类型的日志

Java 自定义异常捕获

编写一个程序,将字符串转换成数字。请使用try-catch语句处理转换过程中可能出现的异常。

JAVA中提供了自定义异常类,虽说尽量使用定义好的类,但是有时候还是会使用到自定义异常类。

自定义异常类格式如下:


class  extends Exception
{
 public   //相当于重写其构造函数{
  super("");
 }
}

自定义异常类的调用格式如下:


try
{
 //有可能出现异常的代码;
}
catch(Exception e)//将异常捕获,放进类e中
{
 //对异常进行处理
}finally{ //最后处理完后执行的代码
}

可能出现异常的代码写法如下:


public static int StringtoInt(String s) throws TooLong,ZeroLength,InvalidChar

开始和普通函数写法一样,这里输入一个字符串,返回一个整型是本题目要求,后面throws跟有可能出现的异常类名。从这里我们也可以看到,throws是针对类的,throw是针对实例的。


{
  int len,i,ans=0;
  boolean flag=true;
  len=s.length();
  for (i=0;i<=len-1;i++)
  {
   if (s.charAt(i)<'0'||s.charAt(i)>'9')
   {
    flag=false;
    break;
   }
  }
  if (s.length()>=6)
  {
   throw new TooLong();//遇到异常抛出
  }
  else if (s.length()==0)
  {
   throw new ZeroLength();
  }
  else if (flag==false)
  {
   throw new InvalidChar();
  }
  for (i=0;i<=len-1;i++)
  {
   ans=ans+(s.charAt(i)-'0')*((int)Math.pow(10,len-i-1));
  }
  return ans;
 }

本题完整代码如下:

异常类型有:空字符,超过长度字符串和含有非法字符的字符串。


import java.util.*;
 
class InvalidChar extends Exception
{
 public InvalidChar()
 {
  super("字符串中含有非法字符,无法转换为整型");
 }
}
 
class TooLong extends Exception
{
 public TooLong()
 {
  super("字符串长度过长,无法转换成整型");
 }
}
 
class ZeroLength extends Exception
{
 public ZeroLength()
 {
  super("长度是零,无法转换成整型");
 }
} 
 
public class ExceptionTester
{
 public static int StringtoInt(String s) throws TooLong,ZeroLength,InvalidChar
 {
  int len,i,ans=0;
  boolean flag=true;
  len=s.length();
  for (i=0;i<=len-1;i++)
  {
   if (s.charAt(i)<'0'||s.charAt(i)>'9')
   {
    flag=false;
    break;
   }
  }
  if (s.length()>=6)
  {
   throw new TooLong();
  }
  else if (s.length()==0)
  {
   throw new ZeroLength();
  }
  else if (flag==false)
  {
   throw new InvalidChar();
  }
  for (i=0;i<=len-1;i++)
  {
   ans=ans+(s.charAt(i)-'0')*((int)Math.pow(10,len-i-1));
  }
  return ans;
 }
 public static void main(String args[])
 {
  int a;
  String s;
  Scanner cin=new Scanner(System.in);
  System.out.println("输入一个字符串");
  s=cin.nextLine();
  try
  {
   a=StringtoInt(s);
  }
  catch(Exception e)
  {
   System.out.println(e.toString());
   return;
  }
  System.out.println(a+"\n"+"没有异常被捕获");
  return;
 }
}

常见的异常处理代码有e.toString(),e.getMessage(),e.printStackTrace()等等。

自定义异常Exception

根据业务需要不用的异常打印不用类型的日志


package com.cestbon.exception;
public class RpcException extends Exception {

private static final long serialVersionUID = 6554142484920002283L;
}

继承重写Exception方法即可~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程界。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java中的自定义异常捕获方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java中的自定义异常捕获方式

目录Java 自定义异常捕获自定义异常类格式如下:自定义异常类的调用格式如下:可能出现异常的代码写法如下:本题完整代码如下:自定义异常Exception根据业务需要不用的异常打印不用类型的日志Java 自定义异常捕获编写一个程序,将字符串转换成数字。请使用tr
2016-05-06

如何在 PHP 中捕获和处理自定义异常?

在 php 中捕获和处理自定义异常的方法:继承 exception 类创建自定义异常。使用 throw 关键字抛出自定义异常。使用 try、catch 和 finally 块捕获和处理异常。如何在 PHP 中捕获和处理自定义异常引言在 P
如何在 PHP 中捕获和处理自定义异常?
2024-05-09

springboot如何自定义异常并捕获异常返给前端

小编给大家分享一下springboot如何自定义异常并捕获异常返给前端,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景在开发中,如果用try catch的方式,
2023-06-25

Java中捕获线程异常的方式有哪些

这篇文章主要介绍“Java中捕获线程异常的方式有哪些”,在日常操作中,相信很多人在Java中捕获线程异常的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中捕获线程异常的方式有哪些”的疑惑有所
2023-07-04

自定义注解和springAOP捕获Service层异常并处理自定义异常的示例分析

这篇文章主要为大家展示了“自定义注解和springAOP捕获Service层异常并处理自定义异常的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“自定义注解和springAOP捕获Serv
2023-06-15

Java自定义异常与异常使用的最佳方式

目录异常的分类1. 非运行时异常(Checked Exception)2. 运行时异常(Runtime Exception/Unchecked Exception)异常的处理一、对应非运行时异常,必须对其进行处理二、对于运行时异常,可以不对其进行处理应用场景自
2019-09-12

java中怎么自定义异常

在Java中,可以通过继承Exception类或其子类来自定义异常。以下是一些自定义异常的示例:// 自定义一个异常类class MyException extends Exception {public MyException(Str
java中怎么自定义异常
2023-10-30

浅谈几种Java自定义异常处理方式

在Java中,异常是一种常见的处理机制,本文主要介绍了浅谈几种Java自定义异常处理方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-19

Java中怎么自定义异常类

Java中怎么自定义异常类,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。自定义异常:步骤 ­一:创建一个类继承于Throwable或其子类;二:添加构造方法;三:在
2023-06-17

Java自定义异常的方法是什么

本文小编为大家详细介绍“Java自定义异常的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java自定义异常的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、异常分为哪几种异常分为两种,分
2023-07-06

java异常级别与捕获的实现方法

本篇内容主要讲解“java异常级别与捕获的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java异常级别与捕获的实现方法”吧!这个是jdk 1.8文档中异常的种族描述可以看出Java异常
2023-06-20

java全局异常捕获的方法是什么

Java全局异常捕获的方法是使用try-catch块来捕获异常。在Java中,可以使用捕获异常的方式来处理程序中的异常情况。全局异常捕获也称为顶层异常捕获,它可以捕获整个程序中未被捕获的异常。通常情况下,可以在程序的入口处(如main方法
2023-10-21

怎么在java中自定义异常类

本篇文章给大家分享的是有关怎么在java中自定义异常类,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java可以用来干什么Java主要应用于:1. web开发;2. Andro
2023-06-14

Java中的异常类怎么实现自定义

Java中的异常类怎么实现自定义?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java自定义异常类的实例详解为什么要自己编写异常类?假如jdk里面没有提供的异常
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录