Laravel+ vueでフォームを作成する時に便利なvformでapiにアクセスし、レスポンスによって処理を切り分けたい時のawait/catchとtry/catchの書き方メモです。
await/catchの場合:
      const response   = await this.form.post('/register')
        .catch(err => {
          console.log(err.response) // エラー時の処理
          return null // nullを返す
        });
      if(!response){
        return
      }
      this.message = response.data.messageawait/catchの場合、catch内の戻り値をresponseに返し、処理が続行されます。そのため正常コード(200-299)以外は処理を止めたい時はnullを返しています。そしてresponseが空(null,空,undefined,0)であれば処理を止める記載をしています。
try/catchの場合:
      let data
      try {
        const response   = await this.form.post('/register')
        data = response.data
      } catch(e) {
        // エラー時の処理
        return
      }
      this.message = data.messagetry/catchの場合はcatchで処理を止めることができます。axiosはstatus codeが200-299以外を例外として処理してくれますので、status codeを判定する処理を記載する必要はありません。
まとめ
どちらの書き方をするかは好みです。
phpやJavaなどの言語をやってきた人間からするとtry/catchの方が直感的だと思います。
個人的にはawait/catchの書き方がGo言語っぽくて好みです。
