我有一個關於try catch bock異常的問題。我想知道如果我有一個名爲Image的類來生成圖像,並且該類是一個try catch語句,並且如果出現錯誤,我想讓我的控制器使圖像返回響應,所以在我的控制器中我也有一個catch語句我想知道的是當我有錯誤,並且如果它不起作用,我可以告訴我我的語句應該如何,下面我正確地指出並開始工作。嘗試在類和控制器中捕獲語句
<?php
namespace App\Acme\Imaging;
use Image as Intervention;
class Image
{
public function __construct($input) {
}
public function save() {
try {
$image = Intervention::make(...);
$image->save(...);
} catch(NotReadableException $e) {
return response()->json(['error' => true, 'message' => $e->getMessage()], $e->getCode(), ['Content-Length' =>$e->getMessage()])
}
}
}
public function store(PostRequest $request)
{
try {
$image = new Image;
$image->width = 500;
$image->height = 500;
$image->save();
$post = new Post;
$post->fill($request->all());
$post->created_by = Auth::user()->id;
$post->image = $image;
if($post->save()) {
return response()->json($post, 200, ['Content-Lnegth' => strlen(json_encode($post))]);
}
} catch(Exception $e) {
return response()->json(array('error' => true, 'type' => 'exception', 'message' => $e->getMessage()), $e->getCode(), ['Content-Length' => strlen($e->getMessage())]);
}
}
'NotReadableException'引用擴展類'Exception',您必須創建它才能這樣做:try {} catch(){}塊沒有任何問題。然而,我不確定'response()'來自哪裏。你確定它不是'$ e-> response()'?因爲'$ e'是實例異常 – KDOT
如果我做$ e-> response([],$ e-> getCode(),['Content-Length'=> $ e-> getMessage()])在json中返回,因爲這就是我想要的 – ONYX
Acutally你能告訴我你創建一個NotReadableException類是什麼意思,你可以給我一個答案,請告訴我如何將它連接在一起@KDOT – ONYX