四周
1.异常
1.1 错误和异常
Java中的错误 Error: 是代表JVM本身的错误,咱们程序员无法通过代码进行处理的(一旦出现,跑路)
Java中的异常 Exception: 代表Java程序运行过程中出现了不可预期的错,然后影响了代码的正常的执行,可以使用Java中的异常处理机制来处理一下代码,让程序能够正常执行.
as
1.2 Throwable[开发不用]
Java 是面向对象开发的,Java中封装好了一个叫Throwble类
1.3 异常
1.3.1 异常的捕捉
在程序运行中,难免会出现异常,这个时候用java中的异常捕捉进行处理
单个异常语法格式:
try{ 可能出现异常的代码 }catch (异常对象){ 针对异常的处理方案 }
多个异常语法格式:
try{ 可能出现异常的代码块 }catch(异常对象){ }catch(异常对象){ }......
或
try{ 可能出现异常的代码块 }catch(异常对象|异常对象){ }
finally [了解]
try{ }catch(){ }finally{ 无论有没有异常都会执行的代码 }
getMessage[打印异常]
try{ }catch(Exception e){ System.out.println(e.getMessage());//打印异常 }
1.3.2 throws 异常的捕捉(提示)
throws 告知调用者此处有异常,注意抛出
public static 类 throws Exception{ }
1.3.3 throw 关键字 (抛出异常)
throw 造错 可以指定错误异常提示 (异常抛出)
import java.util.Scanner; public class Dome02 { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); System.out.println("输入用户名:"); String username = sc.next(); if(!username.equals("狗蛋") ){ throw new Exception("用户名不存在"); } System.out.println("请输入密码:"); String password = sc.next(); if(!password.equals("1233211234567")){ throw new Exception("密码错误"); } System.out.println("登陆成功!"); } }
1.3.4 throw和throws的区别[※※※重要]
1.3.5 自定义异常
示例:
import java.util.Scanner; class SinglerException extends Exception{ public SinglerException(){ super(); } public SinglerException(String message){ super(message); } } public class Demo03 { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); System.out.println("请输入是否是情侣(true/false):"); buy(sc.nextBoolean()); } public static void buy(boolean issSingle) throws Exception{ if(issSingle){ throw new SinglerException("单身不能购买"); } System.out.println("情侣买一送一"); } }