奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

JAVA中throws和throw有什么區別

時間:2025-04-28 14:04:05 java語言 我要投稿
  • 相關推薦

JAVA中throws和throw有什么區別

  一直對java中的throws和throw不太理解。你知道JAVA中throws和throw有什么區別嗎?下面是小編為大家帶來的關于JAVA中throws和throw有什么區別的知識,歡迎閱讀。

  throw:(針對對象的做法)

  拋出一個異常,可以是系統定義的,也可以是自己定義的。下面舉兩個例子:

  拋出Java中的一個系統異常:

  public class One {

  public void yichang(){

  NumberFormatException e = new NumberFormatException();

  throw e;

  }

  public static void main(String[] args){

  One test = new One();

  try{

  test.yichang();

  }catch(NumberFormatException e){

  System.out.println(e.getMessage());

  }

  }

  }

  拋出一個自定義的異常:

  public class People {

  public static int check(String strage) throws MyException{

  int age = Integer.parseInt(strage);

  if(age < 0){

  throw new MyException("年齡不能為負數!");

  }

  return age;

  }

  public static void main(String[] args){

  try{

  int myage = check("-101");

  System.out.println(myage);

  }catch(NumberFormatException e){

  System.out.println("數據格式錯誤");

  System.out.println("原因:" + e.getMessage());

  }catch(MyException e){

  System.out.println("數據邏輯錯誤");

  System.out.println("原因:" + e.getMessage());

  }

  }

  }

  public class MyException extends Exception{

  private static final long serialVersionUID = 1L;

  private String name;

  public MyException(String name){

  this.name = name;

  }

  public String getMessage(){

  return this.name;

  }

  }

  throws:(針對一個方法拋出的異常)

  拋出一個異常,可以是系統定義的,也可以是自己定義的。

  拋出java中的一個系統異常:

  public class One {

  public void yichang() throws NumberFormatException{

  int a = Integer.parseInt("10L");

  }

  public static void main(String[] args){

  One test = new One();

  try{

  test.yichang();

  }catch(NumberFormatException e){

  System.out.println(e.getMessage());

  }

  }

  }

  拋出一個自定義異常:

  public class People {

  public static int check(String strage) throws MyException{

  int age = Integer.parseInt(strage);

  if(age < 0){

  throw new MyException("年齡不能為負數!");

  }

  return age;

  }

  public static void main(String[] args){

  try{

  int myage = check("-101");

  System.out.println(myage);

  }catch(NumberFormatException e){

  System.out.println("數據格式錯誤");

  System.out.println("原因:" + e.getMessage());

  }catch(MyException e){

  System.out.println("數據邏輯錯誤");

  System.out.println("原因:" + e.getMessage());

  }

  }

  }

  public class MyException extends Exception{

  private static final long serialVersionUID = 1L;

  private String name;

  public MyException(String name){

  this.name = name;

  }

  public String getMessage(){

  return this.name;

  }

  }

  那么下面我要說究竟什么時候用哪種:

  如果是系統異常的話可以什么都不用做,也可以針對方法拋出一個異常,因為系統異常是可以被系統自動捕獲的,所以這個異常究竟是要在方法內部解決還是交給上層函數去解決其實效果是一樣的。但是我查了很多資料,即使會拋出異常能被系統所捕獲的話還是建議針對方法寫一個throws,因為這樣在完成一個大型任務的時候可以讓別的程序員知道這里會出現什么異常。

  如果是自己定義的異常,則必須要用throws拋出該方法可能拋出的異常,否則編譯會報錯


【JAVA中throws和throw有什么區別】相關文章:

Java編程中throw和throws子句的使用方法08-26

Java和Python有什么區別09-06

java和C++有什么區別09-05

java SE和EE有什么區別08-01

java知識:JDK和JRE有什么區別08-08

Java面試實例int和Integer有什么區別?06-09

WLAN和WIFI有什么區別06-26

警校和軍校有什么區別10-07

Unix和Linux有什么區別07-24

主站蜘蛛池模板: 牡丹江市| 嘉祥县| 凤阳县| 西乡县| 民权县| 定边县| 新营市| 浑源县| 交口县| 武夷山市| 神池县| 钟山县| 留坝县| 广汉市| 德保县| 韶关市| 长宁区| 克山县| 普兰县| 新巴尔虎右旗| 苏尼特右旗| 南宫市| 曲水县| 肃宁县| 海兴县| 门源| 仁怀市| 炉霍县| 岢岚县| 潞西市| 旬阳县| 叙永县| 灌云县| 凭祥市| 五常市| 长岛县| 武汉市| 浮梁县| 砚山县| 开封市| 锡林郭勒盟|