異常

      網友投稿 608 2025-04-04

      異常的概念


      什么是異常?

      異常

      在程序運行時打斷正常程序流程的任何不正常情況稱為異常

      導致程序發生異常的原因很多,如

      1.數組的下標越界 2.除法運算的除數為0

      3.空指針訪問 4.試圖訪問不存在的文件

      java異常處理機制

      1.Java語言的異常處理機制為提高Java程序的健壯性提供了良好的支持

      ? 當產生異常時,Java能夠啟用相應的異常處理程序

      ?Java中的異常是類,和普通的類沒有本質區別

      異常情況舉例

      1.編寫程序,從鍵盤上輸入三角形的三條邊長a,b,c,輸出其面積

      2.計算面積的海倫公式為

      代碼:

      public class TestException { public static double calculateArea(double a, double b, double c) { double p = (a+b+c)/2; return Math.sqrt(p*(p-a)*(p-b)*(p-c)); } public static void main(String[ ] args) { double a = Double.parseDouble(args[0]); double b = Double.parseDouble(args[1]); double c = Double.parseDouble(args[2]); double s = calculateArea(a, b, c); System.out.println( "三角形面積是" + s); } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      運行命令:java TestException 3.0 4.0 5.0

      輸出:三角形面積是6.0

      異常情況1

      運行命令:java TestException

      ? 在控制臺將顯示數組訪問越界的錯誤信息:

      Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0 at TestException.main(TestException.java:10)

      1

      2

      3

      ? 造成上述異常的原因是:沒有輸入足夠的參數,致

      使字符串數組args的長度為0。當訪問第1個參數

      args[0] 時,數組訪問會越界。

      異常情況2

      運行命令:java TestException 3.0 4.b 5.0

      ? 在控制臺將顯示數字格式異常的錯誤信息:

      Exception in thread "main" java.lang.NumberFormatException: For input string: "4.b" …… at TestException.main(TestException.java:11)

      1

      2

      3

      4

      5

      ? 造成上述異常的原因是:輸入的第2個字符串參數4.b不

      是一個數字文本,無法轉換成所需要的雙精度數字類型

      異常情況處理1

      public class TestException{ public static double calculateArea(double a, double b, double c){ double p = (a+b+c)/2; return Math.sqrt(p*(p-a)*(p-b)*(p-c)); } public static void main(String[] args){ if (args.length < 3) { System.out.println("輸入的參數個數應至少為3個,請 重新執行本程序"); } double a = Double.parseDouble(args[0]); double b = Double.parseDouble(args[1]); double c = Double.parseDouble(args[2]); double s = calculateArea(a, b, c); System.out.println("三角形面積是"+s); } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      異常處理情況2

      public class TestException{ public static double calculateArea(double a, double b, double c){ double p = (a+b+c)/2; return Math.sqrt(p*(p-a)*(p-b)*(p-c)); } public static void main(String[] args){ try{ double a = Double.parseDouble(args[0]); double b = Double.parseDouble(args[1]); double c = Double.parseDouble(args[2]); double s = calculateArea(a, b, c); System.out.println("三角形面積是"+s); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("數組訪問越界,請至少輸入3 個參數"); } } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      import java.util.*; public class TestExceptionnew { public static double calculateArea(double a, double b, double c) { double p = (a+b+c)/2; return Math.sqrt(p*(p-a)*(p-b)*(p-c)); } public static void main(String[] args) { Scanner reader=new Scanner(System.in); double a = reader.nextDouble(); double b = reader.nextDouble(); double c = reader.nextDouble(); double s = calculateArea(a, b, c); System.out.println("三角形面積是"+s); } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      Java 數據結構

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:word怎么批量刪除空格
      下一篇:IF函數判斷條件
      相關文章
      亚洲男人的天堂在线va拉文| 久久精品国产亚洲Aⅴ香蕉| 在线亚洲人成电影网站色www| 风间由美在线亚洲一区| 亚洲色成人四虎在线观看| 亚洲AV综合色区无码二区偷拍| 亚洲狠狠狠一区二区三区| 99久久亚洲综合精品成人网| 337p日本欧洲亚洲大胆艺术| 久久亚洲精品无码aⅴ大香| 亚洲高清视频在线播放| 亚洲精品456在线播放| 亚洲成a人片在线观看中文!!!| 亚洲第一页在线观看| 亚洲中文字幕无码av在线| 精品亚洲成在人线AV无码| 亚洲AV成人一区二区三区在线看| 亚洲欧洲日本在线观看| 亚洲欧洲日产国码久在线| jzzijzzij在线观看亚洲熟妇| 激情小说亚洲图片| 亚洲日韩国产精品乱| 久久久久亚洲精品天堂久久久久久 | 亚洲AV永久无码精品网站在线观看| 亚洲av永久无码天堂网| 国产综合成人亚洲区| 亚洲精品无码你懂的网站| 中文字幕精品亚洲无线码一区| 亚洲男人的天堂www| 99久久亚洲精品无码毛片| 亚洲人成毛片线播放| 亚洲依依成人亚洲社区| 亚洲国产精品美女久久久久| 日本亚洲中午字幕乱码| 亚洲人成国产精品无码| 国产亚洲精品国产| 7777久久亚洲中文字幕蜜桃| 国产成人精品日本亚洲专| 亚洲av永久无码| 色噜噜亚洲精品中文字幕| 亚洲国产精品人久久|