回答編集履歴

4

補足

2017/09/01 15:44

投稿

退会済みユーザー
test CHANGED
@@ -126,7 +126,7 @@
126
126
 
127
127
  ```PHP
128
128
 
129
- new SomeException("hogehage");
129
+ $e = new SomeException("hogehage");
130
130
 
131
131
  ```
132
132
 

3

間違い修正

2017/09/01 15:44

投稿

退会済みユーザー
test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
 
82
82
 
83
- ですが、PDOException は RuntimeException クラスを継承し、さらに RuntimeException クラスは Exception クラスを継承しているため、結果的に 3番目の catch ブロックでキャッチされ、やはり、general が表示されます。
83
+ ですが、PDOException は RuntimeException クラスを継承し、さらに RuntimeException クラスは Exception クラスを継承しているため、結果的に 3番目の catch ブロックでキャッチされ、やはり、pdo が表示されます。
84
84
 
85
85
 
86
86
 

2

補足

2017/09/01 15:38

投稿

退会済みユーザー
test CHANGED
@@ -89,3 +89,59 @@
89
89
 
90
90
 
91
91
  ですから、不正な実行結果の際に Exception(例外)を throw する関数等を try ブロック内に書いた場合、エラー処理が非常に簡単に行えるようになるわけです。
92
+
93
+
94
+
95
+ 尚、全ての例外の基底クラス Exception クラスでは
96
+
97
+ http://php.net/manual/ja/class.exception.php
98
+
99
+
100
+
101
+ ```PHP
102
+
103
+ /* プロパティ */
104
+
105
+ protected string $message ;
106
+
107
+ protected int $code ;
108
+
109
+ protected string $file ;
110
+
111
+ protected int $line ;
112
+
113
+ ```
114
+
115
+
116
+
117
+ となっていて、そのコンストラクタは
118
+
119
+ http://php.net/manual/ja/exception.construct.php
120
+
121
+
122
+
123
+ なため、
124
+
125
+
126
+
127
+ ```PHP
128
+
129
+ new SomeException("hogehage");
130
+
131
+ ```
132
+
133
+
134
+
135
+ のように new すると、第一引数の文字列が、そのインスタンスに対する
136
+
137
+
138
+
139
+ ```PHP
140
+
141
+ $e->getMessage();
142
+
143
+ ```
144
+
145
+
146
+
147
+ という getMessage() メンバメソッドで取得できるというわけです。

1

誤植修正

2017/09/01 15:36

投稿

退会済みユーザー
test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
 
86
86
 
87
- このように、catch ブロックは try ブロック内で throw された Exception 毎にキャッチを行い、そ際に new されたインスタンスを引数として取ります。
87
+ このように、catch ブロックは try ブロック内で throw された Exception 毎にキャッチを行い、そ際に new されたインスタンスを引数として取ります。
88
88
 
89
89
 
90
90