自定義異常的兩種方式

2021-10-05 17:49:20 字數 1921 閱讀 9146

自定義異常的兩種方式

一、丟擲異常

def

greet

(name, city):if

notisinstance

(name,

str)

:raise typeerror(

"name must be str")if

notisinstance

(city,

str)

:raise typeerror(

"age must be str"

)print

("my name is %s, and i come from"

%(name, city)

)greet(1,

2)

二、自定義異常(一)

呼叫父類exception的__init__方法

class

argumenterror

(exception)

:def

__init__

(self,

*args,

**kwargs)

: _args =

("引數錯誤",)

+ args

super

(argumenterror, self)

.__init__(

*_args,

**kwargs)

defdivision

(a, b)

:if b ==0:

raise argumenterror(

"0不能做除數")if

notisinstance

(a,(

int,

float))

ornot

isinstance

(b,(

int,

float))

:raise argumenterror(

"引數必須是數值型"

)return a / b

division(1,

0)division(1,

'a')

三、自定義異常(二)

使用__str__方法

class

argumenterror2

(exception)

:def

__init__

(self,

*args,

**kwargs)

: self.args = args

self.kwargs = kwargs

def__str__

(self)

:return

"%s"

%repr

(self.args)

+repr

(self.kwargs)

defdivision

(a, b)

:if b ==0:

raise argumenterror2(

"0不能做除數")if

notisinstance

(a,(

int,

float))

ornot

isinstance

(b,(

int,

float))

:import datetime

raise argumenterror2(

"引數必須是數值型"

, time=datetime.datetime.now(

).strftime(

'%f %h:%m:%s'))

print

(a / b)

division(1,

'test'

)

自定義dialog的兩種方式

介紹自定義對話方塊 dialog 的兩種方式 方式一 首先自定義乙個自己想要設計的對話方塊的介面布局,我的是這樣的 然後在activity類中進行展示,這裡我寫了乙個showinputpwddialog方法 輸入密碼對話方塊 private void showinputpwddialog 方式二 可...

自定義View的兩種方式

一 xib自定義view 1.思路 2.關鍵 1 import23 class45 inte ce67 8 模型資料9 1113 14 15 通過模型資料來建立乙個view 16 1819 end 1 import 2 import 34 inte ce 5 property weak,nonato...

spark兩種自定義排序方式

一 目標物件新增隱式轉換函式的方式實現自定義排序 object mysortelse 隱式轉換函式實現自定義排序 object customsort1 學生類 case class student name string,age int,score int 二 目標物件實現ordered特質的方式實...