Throwable
の断片的な記述を作成する。
Throwable
とそのバックトレースを標準エラーストリームに出力する。
Throwable
とそのバックトレースを指定された印刷ストリームに出力する。
Throwable
とそのバックとレースを指定された印刷書き込みルーチンに出力する。
プログラム class test { public static void main(String[] args){ try{ Integer.parseInt("abc"); } catch(NumberFormatException e){ System.out.println("e="+e); e.printStackTrace(); } } } 実行例 e=java.lang.NumberFormatException: abc java.lang.NumberFormatException: abc at java.lang.Throwable.(Compiled Code) at java.lang.Exception. (Compiled Code) at java.lang.RuntimeException. (Compiled Code) at java.lang.IllegalArgumentException. (Compiled Code) at java.lang.NumberFormatException. (Compiled Code) at java.lang.Integer.parseInt(Compiled Code) at java.lang.Integer.parseInt(Compiled Code) at test.main(Compiled Code)
前回までにこの授業のページに現れたサンプルプログラムで,「例外が起き る可能性があるのに例外処理をきちんとやっていなかった」ものを適当に1つ 選び,「適切と思われる例外処理をする」ように書き直し,例外処理をしてい ることがわかるような実行例を書きなさい.
解説
前回までのすべての範囲からサンプルプログラムを選ぶため,もう少し分か
れるかと思ったが,以下のものに集中した.
上の絵と似た絵を描くプログラム Yukidaruma を完成させて下さい(月と雪ダ ルマが描かれればどんなものでも合格とします).
// AWTを使うので java.awt.*を import する import java.awt.*; // 独立したウィンドウを開くので, class Yukidaruma extends Frame{ public Yukidaruma(String title){ super(title); } public static void main(String[] args){ Yukidaruma frame=new Yukidaruma("Yukidaruma"); frame.setSize(400,400); frame.setVisible(true); } public void paint(Graphics g){ // この部分を埋めてください. } }解答例(埋める部分)
import java.awt.*; class Yukidaruma extends Frame{ public Yukidaruma(String title){ super(title); } public static void main(String[] args){ Yukidaruma frame=new Yukidaruma("Yukidaruma"); frame.setSize(400,400); frame.setVisible(true); } public void paint(Graphics g){ g.setColor(Color.black); g.fillRect(0,0,400,200); g.setColor(new Color(230,230,230)); g.fillRect(0,200,400,200); g.setColor(new Color(200,255,255)); g.fillArc(50,50,40,40,225,180); g.setColor(Color.white); g.fillOval(200,150,80,80); g.fillOval(190,220,100,100); g.setColor(Color.black); g.fillOval(210,175,10,10); g.fillOval(230,175,10,10); g.setColor(Color.red); int xs[]={210,230,230}; int ys[]={195,200,190}; g.fillPolygon(xs,ys,3); } }「似た絵」ということで,かなり頑張ってプログラムを書いてくれた人の絵 を11/24 雪だるまの絵で紹介する.