比较throw和throws的异同:

    throw:生成一个异常对象,并抛出。使用在方法内部< - >自动抛出异常对象
    throws:处理异常的方式。使用在方法声明处的末尾

    1. package com.atguigu.java2;
    2. public class StudentTest {
    3. public static void main(String[] args) {
    4. try {
    5. Student s = new Student();
    6. s.regist(-1001);
    7. System.out.println(s);
    8. } catch (Exception e) {
    9. // e.printStackTrace();
    10. System.out.println(e.getMessage());
    11. }
    12. }
    13. }
    14. class Student{
    15. private int id;
    16. public void regist(int id) throws Exception{
    17. if(id > 0){
    18. this.id = id;
    19. }else{
    20. // System.out.println("您输入的数据非法!");
    21. //手动抛出异常对象
    22. // throw new RuntimeException("您输入的数据非法!");
    23. throw new Exception("您输入的数据非法!");
    24. }
    25. }
    26. @Override
    27. public String toString() {
    28. return "Student [id=" + id + "]";
    29. }
    30. }