国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java中printStackTrace()、toString()、getMessage()的區(qū)別

2019-11-15 00:55:43
字體:
供稿:網(wǎng)友
javaPRintStackTrace()、toString()、getMessage()的區(qū)別一、三者之間的關(guān)系圖:

Untitled

二、演示 1、printStackTrace()演示:

public class Test {     public int div(int a, int b)     {         try         {             return a/b;         } catch (Exception e)         {            e.printStackTrace();         }         return 0;     }     public static void main(String[] args)     {         Test test = new Test();         test.div(3, 0);     } }

打印結(jié)果:

Untitled

e.printStackTrace()打印出異常,但是它還將顯示出更深的調(diào)用信息。它是一層一層的向外調(diào)查,最后都會(huì)回到com.glxt…..main(主函數(shù))。

它適合調(diào)試時(shí)使用。

2、toString()演示

public class Test {     public int div(int a, int b)     {         try         {             return a/b;         } catch (Exception e)         {             System.out.println(e.toString());         }         return 0;     }     public static void main(String[] args)     {         Test test = new Test();         test.div(3, 0);     } }

打印結(jié)果:

Untitled

 

3、getMessage()演示

public class Test {     public int div(int a, int b)     {         try         {             return a/b;         } catch (Exception e)         {             System.out.println(e.getMessage());         }         return 0;     }     public static void main(String[] args)     {         Test test = new Test();         test.div(3, 0);     } }

打印結(jié)果:

Untitled

 

附注: 如何獲取e.printStackTrace()的內(nèi)容

e.printStackTrace()通常是打印在控制臺的,但是,有時(shí)候程序上線了需要看這個(gè)堆棧的內(nèi)容就不容易了,一來生產(chǎn)環(huán)境打印的東西很多或者很少,二來有時(shí)候無法直接查看到,這個(gè)時(shí)候就需要把這些內(nèi)容記錄下來,比如記錄到數(shù)據(jù)庫中,下面的方法可以完整記錄。

public static void main(String[] args) {         try {             String aa = "";             System.out.println(aa.substring(3));

        } catch (Exception e) {             e.printStackTrace();             StringWriter sw = new StringWriter();             e.printStackTrace(new PrintWriter(sw, true));             String str = sw.toString();             System.out.println("==========");

            System.out.println(str);         }     }

打印的效果如下:

java.lang.StringIndexOutOfBoundsException: String index out of range: -3     at java.lang.String.substring(Unknown Source)     at java.lang.String.substring(Unknown Source)     at Getc.main(Getc.java:16) ========== java.lang.StringIndexOutOfBoundsException: String index out of range: -3     at java.lang.String.substring(Unknown Source)     at java.lang.String.substring(Unknown Source)     at Getc.main(Getc.java:16)


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 石屏县| 永州市| 方正县| 射洪县| 上犹县| 来安县| 汕头市| 涞水县| 阳东县| 南阳市| 临高县| 志丹县| 永福县| 凤庆县| 西华县| 元氏县| 扎囊县| 裕民县| 如东县| 全椒县| 秦安县| 鹤山市| 隆尧县| 安图县| 婺源县| 永仁县| 宾川县| 重庆市| 盐亭县| 利川市| 赫章县| 睢宁县| 前郭尔| 灌南县| 绥滨县| 抚松县| 伊川县| 呼图壁县| 南平市| 昌都县| 锡林郭勒盟|