• java基础 异常


     异常概述:

    try{ } catch{ }:

    1. package daysreplace;
    2. import com.sun.jdi.IntegerValue;
    3. import java.text.ParseException;
    4. import java.text.SimpleDateFormat;
    5. import java.util.Arrays;
    6. import java.util.Calendar;
    7. import java.util.Date;
    8. import java.util.Scanner;
    9. public class Test {
    10. public static void main(String[] args) throws ParseException {
    11. System.out.println("开始");
    12. try {
    13. a1();
    14. }catch (Exception e){
    15. System.out.println("您访问的下标越界了!");
    16. e.printStackTrace();//打印异常的结果
    17. }
    18. System.out.println("结束");
    19. }
    20. public static void a1(){
    21. int[] arr={22,323,22};
    22. System.out.println(arr[3]);
    23. }
    24. }

     

    Throwable的成员方法: 

     

    1. package daysreplace;
    2. import com.sun.jdi.IntegerValue;
    3. import java.text.ParseException;
    4. import java.text.SimpleDateFormat;
    5. import java.util.Arrays;
    6. import java.util.Calendar;
    7. import java.util.Date;
    8. import java.util.Scanner;
    9. public class Test {
    10. public static void main(String[] args) throws ParseException {
    11. try{
    12. System.out.println("开始");
    13. a1();
    14. }catch (Exception e){
    15. e.printStackTrace();
    16. System.out.println("异常内容:"+e.getMessage());//e.get
    17. System.out.println("异常内容:"+e.toString());
    18. System.out.println("转换类型错误啦!");
    19. }
    20. System.out.println("结束");
    21. }
    22. public static void a1(){
    23. String str="1,2,34,4";
    24. int i = Integer.parseInt(str);
    25. System.out.println(i);
    26. // int[] arr={22,323,22};
    27. // System.out.println(arr[3]);
    28. }
    29. }

    编译时异常和运行时异常的区别: 

     

     

    throws 关键字:

     

    自定义异常,继承Exception即可:

    LoginException.java:

    1. package dateStudy;
    2. public class LoginException extends Exception{
    3. //alt+insert 生成一个有参构造
    4. public LoginException(String message) {
    5. super(message);
    6. }
    7. }

     LoginTest.java:

    1. package dateStudy;
    2. import java.util.Locale;
    3. import java.util.Scanner;
    4. public class LoginTest {
    5. public static void main(String[] args) throws LoginException {
    6. System.out.println("开始");
    7. System.out.println("请输入账号");
    8. Scanner sc = new Scanner(System.in);
    9. String s = sc.nextLine();
    10. System.out.println("请输入密码");
    11. Scanner sc1 = new Scanner(System.in);
    12. String s1 = sc1.nextLine();
    13. try {
    14. login(s,s1);
    15. } catch (LoginException e) {
    16. e.printStackTrace();
    17. }
    18. System.out.println("结束");
    19. }
    20. public static void login(String userName, String pwd) throws LoginException {
    21. if (!("wwx".equals(userName)&&"123456".equals(pwd))) {
    22. throw new LoginException("用户输入的账号和密码不正确");
    23. }
    24. System.out.println("输入正确,登陆成功");
    25. }
    26. }

  • 相关阅读:
    Android 12.0首次开机默认授予app运行时权限(去掉运行时授权弹窗)
    three.js增加文字作为贴图使用
    如何选择一个向量数据库:Elastic Cloud 和 Zilliz Cloud 面面观
    密码技术---分组密码的模式
    Flex & Bison 开始
    【python经验总结】我与bug的那些日子
    视频服务器配置参数有哪些要求和标准
    AI+医疗:使用神经网络进行医学影像识别分析
    SCT44160Q国产、车规 3.4-40V 160-mΩ四通道智能高位开关 P2P替代TPS4H160
    商城项目07_网关工程初步搭建、商品分类树状结构展示、网关配置、解决跨域问题
  • 原文地址:https://blog.csdn.net/qq_64005599/article/details/133745362