質問するログイン新規登録

回答編集履歴

2

修正

2017/10/24 03:14

投稿

yambejp
yambejp

スコア118037

answer CHANGED
@@ -33,9 +33,8 @@
33
33
  print("エラー".$e->getMessage());
34
34
  }
35
35
 
36
- /*一般的なエラーを利用する*/
36
+ /*一般的なエラーを利用する(一部修正)*/
37
37
  try{
38
- if(!isset($_GET["name"])) trigger_error("",E_USER_NOTICE);
39
38
  $x = $_GET["name"];
40
39
  }catch(Exception $e){
41
40
  print("エラー".$e->getMessage());

1

追記

2017/10/24 03:14

投稿

yambejp
yambejp

スコア118037

answer CHANGED
@@ -4,4 +4,40 @@
4
4
  ```PHP
5
5
  filter_input(INPUT_GET,"name");
6
6
  ```
7
- などでチェックするものなのでわざわざ例外処理をするほどのことはないと思います
7
+ などでチェックするものなのでわざわざ例外処理をするほどのことはないと思います
8
+
9
+ # 追記
10
+
11
+ 念の為一般的なエラーの取得方法を追記しておきます
12
+ ```PHP
13
+ set_error_handler('myErrorHandler');
14
+ function myErrorHandler($errno, $errstr, $errfile, $errline)
15
+ {
16
+ switch($errno) {
17
+ case E_NOTICE:
18
+ throw new exception("common notice:".$errstr."<br>");
19
+ break;
20
+ case E_USER_NOTICE:
21
+ throw new exception("my notice:".$errstr."<br>");
22
+ break;
23
+ default:
24
+ return false;
25
+ }
26
+ return true;
27
+ }
28
+
29
+ /*自分用のエラーを発生させる*/
30
+ try{
31
+ if(!isset($_GET["name"])) trigger_error("変数が未設定だよん",E_USER_NOTICE);
32
+ }catch(Exception $e){
33
+ print("エラー".$e->getMessage());
34
+ }
35
+
36
+ /*一般的なエラーを利用する*/
37
+ try{
38
+ if(!isset($_GET["name"])) trigger_error("",E_USER_NOTICE);
39
+ $x = $_GET["name"];
40
+ }catch(Exception $e){
41
+ print("エラー".$e->getMessage());
42
+ }
43
+ ```