ToB企服应用市场:ToB评测及商务社交产业平台

标题: Java 异常处理与正则表达式详解,实例演练及最佳实践 [打印本页]

作者: 光之使者    时间: 2024-5-14 00:41
标题: Java 异常处理与正则表达式详解,实例演练及最佳实践
Java 异常 - Try...Catch

在 Java 代码实行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。
当错误发生时,Java 通常会停止并生成错误消息,这个过程称为抛出异常。
try...catch 语句

try 语句允许您定义一段代码块,并在其中测试是否发生错误。
catch 语句允许您定义一段代码块,当 try 块中发生错误时实行该代码块。
try 和 catch 关键字成对使用,语法如下:
  1. try {
  2.   // 要尝试的代码块
  3. } catch (Exception e) {
  4.   // 处理错误的代码块
  5. }
复制代码
示例:
  1. public class Main {
  2.   public static void main(String[] args) {
  3.     try {
  4.       int[] myNumbers = {1, 2, 3};
  5.       System.out.println(myNumbers[10]); // 数组越界错误
  6.     } catch (Exception e) {
  7.       System.out.println("Something went wrong.");
  8.     }
  9.   }
  10. }
复制代码
输出:
  1. Something went wrong.
复制代码
finally 语句

finally 语句允许您在 try...catch 语句之后实行一段代码,无论 try 块中是否发生错误。
示例:
  1. public class Main {
  2.   public static void main(String[] args) {
  3.     try {
  4.       int[] myNumbers = {1, 2, 3};
  5.       System.out.println(myNumbers[10]); // 数组越界错误
  6.     } catch (Exception e) {
  7.       System.out.println("Something went wrong.");
  8.     } finally {
  9.       System.out.println("The 'try catch' is finished.");
  10.     }
  11.   }
  12. }
复制代码
输出:
  1. Something went wrong.
  2. The 'try catch' is finished.
复制代码
throw 关键字

throw 关键字允许您创建自定义异常。
throw 关键字通常与异常范例一起使用。Java 中提供了许多异常范例,例如:
示例:
  1. public class Main {
  2.   static void checkAge(int age) {
  3.     if (age < 18) {
  4.       throw new ArithmeticException("Access denied - You must be at least 18 years old.");
  5.     } else {
  6.       System.out.println("Access granted - You are old enough!");
  7.     }
  8.   }
  9.   public static void main(String[] args) {
  10.     checkAge(15); // 年龄小于 18 岁
  11.   }
  12. }
复制代码
输出:
  1. Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
  2.   at Main.checkAge(Main.java:4)
  3.   at Main.main(Main.java:12)
复制代码
建议:
Java正则表达式

什么是正则表达式?

正则表达式是一系列字符,形成一个搜刮模式。当你在文本中搜刮数据时,可以使用这个搜刮模式形貌你要查找的内容。
正则表达式可以是单个字符,也可以是更复杂的模式。
Java没有内置的正则表达式类,但我们可以导入java.util.regex包来使用正则表达式。该包包括以下类:
示例

查找句子中是否存在单词"hello"的任何出现:
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. public class Main {
  4.   public static void main(String[] args) {
  5.     Pattern pattern = Pattern.compile("hello", Pattern.CASE_INSENSITIVE);
  6.     Matcher matcher = pattern.matcher("Visit hello!");
  7.     boolean matchFound = matcher.find();
  8.     if(matchFound) {
  9.       System.out.println("匹配找到");
  10.     } else {
  11.       System.out.println("未找到匹配");
  12.     }
  13.   }
  14. }
复制代码
输出:
  1. 匹配找到
复制代码
示例解释

在这个例子中,在句子中搜刮单词"hello"。
标志

compile()方法中的标志更改搜刮的实行方式。以下是其中一些:
正则表达式模式

Pattern.compile()方法的第一个参数是模式。它形貌了正在搜刮的内容。
元字符

元字符是具有特殊含义的字符:
元字符形貌|查找由|分隔的任何模式中的任何一个匹配项,例如:cat|dog|fish.查找任何字符的一个实例^在字符串的开头找到匹配项,例如:^Hello$在字符串的末尾找到匹配项,例如:World$\d查找数字\s查找空缺字符\b在单词的开头找到匹配项,如\bWORD,或在单词的末端找到匹配项,如WORD\b\uxxxx查找由十六进制数xxxx指定的Unicode字符量词

量词定义数量:
量词形貌n+匹配包含至少一个n的任何字符串n*匹配包含零个或多个n的任何字符串n?匹配包含零个或一个n的任何字符串n匹配包含X个n的任何字符串的序列n匹配包含X到Y个n的任何字符串的序列n匹配包含至少X个n的任何字符串最后

为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜刮:Let us Coding,关注后即可获取最新文章推送
看完假如以为有资助,欢迎 点赞、收藏、关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4