java的异常抛出和String类常用方法
一、异常抛出
异常是程序的异种非错误的意外情况,分为运行期异常(RuntimeException)和编译期异常(CheckedExcption)
处理异常可以用try——catch或自定义
import java.lang.Exception; //导入异常包
public class ThrowExceptionTest {
public static void main(String[]args) throws Exception{
try{
throwExceptionAction();
int a = 9/0;
throw new Exception(); //如有异常抛出
}
catch(Exception e){
throw e; //层层抛出异常
}
}
private static void throwExceptionAction() {//方法封装
try{
//可能存在异常的程序段,如有异常则抛出并暂停
System.out.println("开始");
int a = 2/0; //数学异常
System.out.println(a);
}
catch(Exception e){ //如无异常,不执行此块
//接收抛出的异常
System.out.println("出现了异常!");
System.out.println(e);
}
finally{
//始终执行的程序块
System.out.println("始终执行!");
}
}
}
二、String的常用方法
public class StringAction{
public static void main(String [] args){
char[] arr = {'b','c','d','e','f','好'};
String a = " 97 好 98 92 10 0 ";
char b = a.charAt(3); //索引3的char值
System.out.println("1"+"\t"+b);
int c = a.indexOf(","); //第一次出现“,”的索引
System.out.println("2"+"\t"+c);
int d = a.charAt(3); //指定索引3的unicode代码点
System.out.println("3"+"\t"+d);
System.out.println("4"+"\t"+a.concat("天很热,想跳河!"));//将指定字符串连接到此字符串的末尾
String e = a.concat("天很热,想跳河!");
String str = a.copyValueOf(arr); //指定char数组中包含该字符序列的String
System.out.println("5"+"\t"+str);
System.out.println("6"+"\t"+a.length()); //字符串的长度
a.replace("9", "*"); //替换字符串中的指定字符
System.out.println("7"+"\t"+a.replace("9", "*"));
e.subSequence(1,7); //返回一个由e字符串的第1+1位到第7位组成的字符串
System.out.println("8"+"\t"+e.subSequence(1,7));
arr =a.toCharArray();
System.out.print("9\t");
System.out.println(arr); //将字符串转换成字符数组
e.toString();
System.out.println("10"+"\t"+e.toString()); //返回本身
System.out.println("11\t"+a.trim()); //忽略前后空白
System.out.println("12\t"+a.trim().length()); //忽略后的长度
System.out.println("13\t"+a.valueOf(1==2)); //boolean类型的字符串表示形式
}
}
java的异常抛出和String类常用方法的更多相关文章
- java的异常抛出throws和throw的简单使用
前提: 当在程序测试时,如果你需要定义一个自己的异常,而非现在已经存在的异常,这个时候你需要用到throws和throw,try-catch只是一个简单的捕获异常的过程. 代码如下: package ...
- java——异常类、异常捕获、finally、异常抛出、自定义异常
编译错误:由于编写程序不符合程序的语法规定而导致的语法问题. 运行错误:能够顺利的编译通过,但是在程序运行过程中产生的错误. java异常类都是由Throwable类派生而来的,派生出来的两个分支分别 ...
- 【JAVASE】Java同一时候抛出多个异常
Java有异常抛出后.跳出程序.一般无法运行接下来的代码. 大家做登陆功能.常常会实username和password的登陆校验,username或者password错误.假设通常是提示usernam ...
- 编写Java程序,模拟五子棋博弈过程中的异常声明和异常抛出
返回本章节 返回作业目录 需求说明: 模拟五子棋博弈过程中的异常声明和异常抛出,判断用户所下棋子的位置,是否超越了棋盘的边界. 棋盘的横坐标的范围为0-9,纵坐标范围为0-14,如果用户所放棋子的坐标 ...
- 在java中,异常抛出点后程序的执行情况
1.在throw语句,即自定义的抛出异常语句后面的代码并不会执行,会提示错误,编译器并不可以正常编译. 2.若在一个条件语句中抛出一个异常,程序可以编译,但不会运行(dead code). 3.若在一 ...
- (转)spring异常抛出触发事务回滚策略
背景:在面试时候问到事务方法在调用过程中出现异常,是否会传递的问题,平时接触的比较少,有些懵逼. spring异常抛出触发事务回滚策略 Spring.EJB的声明式事务默认情况下都是在抛出unchec ...
- java中异常抛出后代码还会继续执行吗
今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ i ...
- 浅谈java中异常抛出后代码是否会继续执行
问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element) ...
- swif-throws异常抛出
import UIKit enum VendingMachineError: Error { case invalidSelection //选择无效 case insufficientFunds(c ...
随机推荐
- Shell里面获取路径的方式
1. $0 #!/bin/sh echo $0 2.shFile=$(readlink -f $0) #!/bin/sh shFile=$() shDir=$(dirname ${shFile})ec ...
- mysqldump导出报错"mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `file_storage` at row: 29"
今天mysql备份的crontab自动运行的时候,出现了报警,报警内容如下 mysqldump: Error 2013: Lost connection to MySQL server during ...
- cookie VS localstorage
http://jerryzou.com/posts/cookie-and-web-storage/ cookie: 1. 数据上限4KB左右 2. 一般由服务器生成,可设置失效时间.如果在浏览器端生成 ...
- 【转】js 对象按照键值(不分区大小写)排序,生成签名方法
客户需求小程序端用js生成签名,我们按照要求一步一步解决,并且将请求方法封装到一个utils.js里: 第一步:对关联数组按照键名做正序排序. 第二步:拼接字符串 第三步:将拼接的字符串加上私钥 第四 ...
- linux查看主机最后启动时间
1.使用who查看最后重启时间 who -b 2.使用last查看近几次重启时间 last reboot 第一条即为最后一次重启日期 last其实是查询用户的登录记录,reboot是一个伪用户:也就是 ...
- System.gc()和-XX:+DisableExplicitGC启动参数,以及DirectByteBuffer的内存释放
首先我们修改下JVM的启动参数,重新运行之前博客中的代码.JVM启动参数和测试代码如下: -verbose:gc -XX:+PrintGCDetails -XX:+DisableExplicitGC ...
- Vuex的深入学习
1.vuex 的dispatch和commit提交mutation的区别 (1)当你的操作行为中含有异步操作,比如向后台发送请求获取数据,就需要使用action的dispatch去完成了.其他使用co ...
- 动态规划-最长单调递增子序列(dp)
最长单调递增子序列 解题思想:动态规划 1.解法1(n2) 状态:d[i] = 长度为i+1的递增子序列的长度 状态转移方程:dp[i] = max(dp[j]+1, dp[i]); 分析:最开始把d ...
- react router @4 和 vue路由 详解(四)vue如何在路由里面定义一个子路由
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 6.vue如何在路由里面定义一个子路由? 给父路由加一个 children:[] 参考我 ...
- Win10系列:JavaScript获取文件和文件夹列表
在应用程序中有时可能需要获取用户库中的内容,以便执行相关的操作.如果要获取某个用户库中的内容,需要先获取到这个用户库,获得用户库可以通过Windows.Storage命名空间中的KnownFolder ...